20

WPFでは、DataTriggerがアタッチされたプロパティにバインドすることは可能ですか?

基本的に、特定の検証ルールが破られたときにスタイルを提供するために、アタッチされたプロパティでコンバーターを使用したいと思います。私は次のようなマークアップを使用しています:

<DataTrigger Binding="{Binding Path=Validation.Errors, 
                       RelativeSource={RelativeSource Self}, 
                       Converter={StaticResource RequiredToBoolConverter}}" 
                       Value="True">
  <Setter Property="Background" Value="LightGreen" />
</DataTrigger>

ただし、これを実行すると、次のようになります。

System.Windows.Dataエラー:39:BindingExpressionパスエラー:'Validation'プロパティが'オブジェクト''' TextBox'(Name ='')'に見つかりません。BindingExpression:Path = Validation.Errors; DataItem ='TextBox'(Name =''); ターゲット要素は'TextBox'(Name ='');です。ターゲットプロパティは「NoTarget」(タイプ「Object」)です

DataTriggerバインディングパスを「Text」に変更しても、データバインディングエラーは発生しません(ただし、もちろん、求めている動作は提供されません)。

4

1 に答える 1

30

プロパティを括弧で囲む必要があります。

<DataTrigger Binding="{Binding Path=(Validation.Errors).YourAttachedProperty,...
于 2008-09-10T06:51:40.457 に答える