Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 这种文本框样式有什么问题?_Wpf_Wpf Controls - Fatal编程技术网

Wpf 这种文本框样式有什么问题?

Wpf 这种文本框样式有什么问题?,wpf,wpf-controls,Wpf,Wpf Controls,为什么这种简单的样式不适用于文本框?当我在“0”和“1”之间更改文本时,我希望背景/前景颜色会更改 您可以使用DataTrigger,但在这种情况下更好的方法是使用触发器: <Trigger Property="Text" Value="1"> <Setter Property="Foreground" Value="Black"/> <Setter Property="Background" Value="White"/&g

为什么这种简单的样式不适用于文本框?当我在“0”和“1”之间更改文本时,我希望背景/前景颜色会更改


您可以使用DataTrigger,但在这种情况下更好的方法是使用触发器:

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


+1它可以工作。我想详细说明一下原因。看看,在这种情况下,
DataTrigger
似乎不合适,因为
TextBox
不是数据绑定的;
DataTrigger
需要绑定到绑定到
TextBox
的对象的属性,而不是文本框本身的
Text
属性。而a可以绑定到任何依赖属性。谢谢!就像魔咒一样,谢谢你的解释!:)触发器无疑是一种方法,但从技术上讲,您可以使用DataTrigger并在绑定上使用RelativeSource,例如binding=“{binding Text,RelativeSource={RelativeSource Self}”
    <Trigger Property="Text" Value="1">
        <Setter Property="Foreground" Value="Black"/>
        <Setter Property="Background" Value="White"/>
    </Trigger>