我是WPF的新手。我只需要在xaml中编写一小段代码,为此我需要知道WPF中的if条件等价。这里有人可以提供帮助吗?
答案 0 :(得分:16)
你是否喜欢“If(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>
如果'着色'将值更改为'红色','蓝色'或'白色',它将相应地更新DockPanel的背景属性。
<DockPanel Style="{StaticResource ColoringStyle}">
...
</DockPanel>