Search code examples
c#wpfwpf-style

WPF Style Trigger not working with custom Enum


Hello I wonder why my Style Trigger not working depend on custom enum? The code is below:

   <Style x:Key="FontAwesomeIconBase"
          BasedOn="{StaticResource FontAwesomeFont}"
          TargetType="{x:Type Grid}">
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="VerticalAlignment" Value="Stretch" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding Tag}" Value="FontIcon.None">
                <Setter Property="Visibility" Value="Hidden"></Setter>
            </DataTrigger>
            <Trigger Property="Tag" Value="FontIcon.None">
                <Setter Property="Visibility" Value="Hidden" />
            </Trigger>
            <Trigger Property="Tag" Value="None">
                <Setter Property="Visibility" Value="Hidden" />
            </Trigger>
            <Trigger Property="Tag" Value="{x:Null}">
                <Setter Property="Visibility" Value="Hidden" />
            </Trigger>
    </Style.Triggers>
    </Style>

I tried DataTrigger but stil not working. Any ideas?


Solution

  • Add an xmlns(namespace) reference of Enum(Where it defined) in your Window/UserControl file as write below:

    xmlns:font="clr-namespace:YourEnumNameSpace"
    
    
    <DataTrigger Property="Tag" Value="{x:Static font:FontIcon.None}">
       <Setter Property="Visibility" Value="Hidden"></Setter>
    </DataTrigger>
    

    use x:Static keyword with value than your EnumClassName.EnumValue. Hope this will helps you.