Problem beim mischen MultiBinding converter und Trigger in der Art

Einstellung der Stil in <UserControl.Resources> (vorausgesetzt der Konverter gibt die Farbe Rot)

<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>

und der Kontrolle:

<TextBox  Name="FirstName" Text="{Binding FirstName}" Style="{StaticResource FieldToValidate}">  

Das erwartete Ergebnis ist für den Bereich FirstName um den Fokus und die Vordergrundfarbe weiß geändert, wenn die MultiBinding converter ändert sich die Hintergrundfarbe zu Rot, aber, während Sie im Feld hintergrund auf Rot wechselt, bekommt nicht den Fokus, noch die neue Vordergrundfarbe.

Fast scheint es, wie die XAML-parser verarbeitet den Trigger vor die Eigenschaft setter MultiBinding converter.

Alle Vorschläge willkommen!

InformationsquelleAutor der Frage BlazingFrog | 2011-05-05

Schreibe einen Kommentar