【问题标题】:How to use DataTrigger From Enum property?如何使用来自 Enum 属性的 DataTrigger?
【发布时间】:2018-02-22 15:15:37
【问题描述】:

所以我有这个Enum

public enum Status
{
    Intermediate = 0,
    Valid,
    NotValid
}

我的ViewModel

public class MyData
{
   private Status _status;

   public Status Status 
   {
       get { return _status; }
       set
       {
           _status= value;
           OnPropertyChanged();

       }
}

我的文本框Style:

<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition Binding="{Binding Status.Valid}" Value="True"/>
    </MultiDataTrigger.Conditions>
    <Setter Property="Background" Value="LightSeaGreen" />
</MultiDataTrigger>

所以这个Status 属性正在改变,我验证它变成了Valid,但我的TextBox Background 颜色仍然没有改变。 这个style 在其他ResourceDictionary 文件中定义。 这个文件的名字是TextBox.xaml

其他属性工作正常,我问的原因是我从不尝试用enumTrigger,所以我什至不知道该怎么做。

【问题讨论】:

    标签: wpf enums binding textbox


    【解决方案1】:

    试试这个:

    <Condition Binding="{Binding Status}" Value="Valid"/>
    

    或者

    <Condition Binding="{Binding Status}" Value="{x:Static local:Status.Valid}"/>
    

    ...其中local 映射到Status 的CLR 命名空间。

    xmlns:local="clr-namespace:WpfApplication1"
    

    【讨论】:

    • 哪一个有效?
    猜你喜欢
    • 2011-01-09
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 2022-11-18
    • 2011-01-01
    • 2011-06-15
    • 1970-01-01
    • 2013-06-18
    相关资源
    最近更新 更多