Что не так с этим стилем TextBox? - PullRequest
       7

Что не так с этим стилем TextBox?

3 голосов
/ 17 сентября 2010

Почему этот простой стиль не работает для TextBox? Я ожидаю, что цвета фона / переднего плана изменятся, когда я изменю текст с «0» на «1» ...

<Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}">
           <Setter Property="Background" Value="Gray"/>

            <Style.Triggers>               
                <!-- If the Textbox holds a value of 1, then update the foreground/background -->
                <DataTrigger Binding="{Binding Path=Text}" Value="1">
                    <Setter Property="Foreground" Value="Black"/>
                    <Setter Property="Background" Value="White"/>
                </DataTrigger>

                <!-- If the Textbox holds a value of 0, then update the foreground/background -->
                <DataTrigger Binding="{Binding Path=Text}" Value="0">
                    <Setter Property="Foreground" Value="White"/>
                    <Setter Property="Background" Value="Black"/>
                </DataTrigger>
            </Style.Triggers>
 </Style>

1 Ответ

3 голосов
/ 17 сентября 2010

Вы используете DataTrigger, но лучше в этом случае будет триггер:

    <Trigger Property="Text" Value="1">
        <Setter Property="Foreground" Value="Black"/>
        <Setter Property="Background" Value="White"/>
    </Trigger>
...