0

您好我想知道为什么我的样式触发器不工作取决于自定义枚举?代码如下:

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

我尝试了 DataTrigger 但仍然无法正常工作。有任何想法吗?

4

1 回答 1

3

在您的 Window/UserControl 文件中添加 Enum(定义位置)的 xmlns(命名空间)引用,如下所示:

xmlns:font="clr-namespace:YourEnumNameSpace"


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

使用值比 EnumClassName.EnumValue 的 x:Static 关键字。希望这会帮助你。

于 2016-01-13T10:20:56.107 回答