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

CNG*_*CNG 5 wpf conditional

可能重复:
XAML条件编译

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

Ben*_*ier 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>
Run Code Online (Sandbox Code Playgroud)

如果"着色"将值更改为"红色","蓝色"或"白色",它将相应地更新DockPanel的背景属性.

<DockPanel Style="{StaticResource ColoringStyle}">
     ...
</DockPanel>
Run Code Online (Sandbox Code Playgroud)