Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to write conditional statements in WPF? [duplicate]

Possible Duplicate:
XAML Conditional Compilation

I am new to WPF. I just need to write a small piece of code in xaml, for which i need to know the if condition equivalent in WPF. Can anybody here help in that?

like image 542
CNG Avatar asked Dec 11 '09 14:12

CNG


1 Answers

Are you after something like, "If (x == 1), make the background of this control blue"? If that is what you are after, you could use data triggers. Here is an example that changes the background color of a control conditionally based on some data. In this example, I made it part of a style and used it later in some controls.

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

If 'Coloring' changes values to 'Red', 'Blue', or 'White', it will update the background property of the DockPanel accordingly.

<DockPanel Style="{StaticResource ColoringStyle}">
     ...
</DockPanel>
like image 183
Ben Collier Avatar answered Sep 28 '22 05:09

Ben Collier