如何在WPF中编写条件语句?

时间:2009-12-11 14:26:02

标签: wpf conditional

  

可能重复:
  XAML Conditional Compilation

我是WPF的新手。我只需要在xaml中编写一小段代码,为此我需要知道WPF中的if条件等价。这里有人可以提供帮助吗?

1 个答案:

答案 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>