绑定读取数据注释

时间:2014-01-15 16:24:24

标签: wpf data-annotations

我有这个C#对象(Current,Monitor.CarNumber值是123456)

    public class Monitor
    {
        [Display(Name = "This is car number")]
        public string CardNumber { get; set; }
    }

在WPF中,标签控件显示Monitor.CardNumber

<Label Content={Binding CardNumber} /> 

(当我运行程序时。它显示123567,它工作正常)。

现在我不希望它显示CardNumber的值,我希望它显示&#34;这是车号&#34; (CardNumber属性的数据注释)。

我该怎么做? (没有C#代码,只修改上面的XML代码)

1 个答案:

答案 0 :(得分:1)

您应该使用ConverterReflection的组合来获取绑定中的显示名称。

当您使用CardNumber绑定标签时,Converter将使用Reflection查找附加属性,如果找到DisplayAttribute,将返回Binding属性的Name属性,否则返回CardNumber。

在SO上的

This回答将帮助您使用Reflection获取Display.Name。

这看起来并不像我所回答的那么简单,因为你必须将属性名称传递给转换器。