でスタイルを設定し<UserControl.Resources>
ます(コンバーターが赤を返すと仮定します)
<Style x:Key="FieldToValidate" TargetType="{x:Type TextBox}">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource VisualQueueOnErrorConverter}">
<Binding RelativeSource="{RelativeSource self}" Path="Name" />
<Binding RelativeSource="{RelativeSource AncestorType={x:Type DockPanel}}" Path="DataContext.ErrorFieldName" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay" />
</MultiBinding>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Background" Value="Red">
<Setter Property="FocusManager.FocusedElement" Value="{Binding RelativeSource={RelativeSource self}}" />
<Setter Property="Foreground" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
とコントロール:
<TextBox Name="FirstName" Text="{Binding FirstName}" Style="{StaticResource FieldToValidate}">
期待される結果はFirstName
、MultiBindingコンバーターが背景色を赤に変更すると、フィールドがフォーカスを取得し、前景色が白に変更されることですが、フィールドの背景が赤に変更されても、フォーカスも新しい前景色も取得されません。 。
XAMLパーサーは、プロパティセッターのMultiBindingコンバーターの前にトリガーを処理しているように見えます。
ありとあらゆる提案を歓迎します!