【发布时间】:2010-12-25 16:41:24
【问题描述】:
【问题讨论】:
-
如果你想写条件,你应该使用后面的代码。你到底想在这里做什么?
-
我今天有一个类似的问题,但没有发现这里接受的答案有用。我又问了一遍,得到了答案,在这里:stackoverflow.com/questions/68499748/…
标签: wpf conditional
【问题讨论】:
标签: wpf conditional
您是否在追求类似“如果 (x == 1),将此控件的背景设为蓝色”之类的内容?如果那是您所追求的,您可以使用数据触发器。这是一个示例,它根据某些数据有条件地更改控件的背景颜色。在此示例中,我将其作为样式的一部分并稍后在某些控件中使用。
<UserControl.Resources>
<Style x:Key="ColoringStyle" TargetType="{x:Type DockPanel}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Coloring}" Value="Red">
<Setter Property="Background" Value="#33FF0000"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Coloring}" Value="Blue">
<Setter Property="Background" Value="#330000FF"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Coloring}" Value="White">
<Setter Property="Background" Value="#33FFFFFF"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
如果“Coloring”将值更改为“Red”、“Blue”或“White”,它将相应地更新 DockPanel 的背景属性。
<DockPanel Style="{StaticResource ColoringStyle}">
...
</DockPanel>
【讨论】: