Проблема при смешивании конвертера MultiBinding и триггера в стиле

Установка стиля в (предполагается, что преобразователь возвращает красный цвет)

<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 средства задания свойств.

Любые предложения приветствуются!

12
задан BlazingFrog 5 May 2011 в 18:18
поделиться