xaml中访问DisplayName如何在XAML中访问DisplayName的值?我有:publicclassViewModel{[DisplayName("Mysimpleproperty")]publicstringProperty{get{return"property";}}}XAML:有没有办法以这种或类似的方式绑定DisplayName?最好的想法是使用这个DisplayName作为Resources的键,并提供一些来自Resources的内容。我会使用标记扩展:publicclassDisplayNameExtension:MarkupExtension{publicTypeType{get;放;}publicstringPropertyName{得到;放;}publicDisplayNameExtension(){}publicDisplayNameExtension(stringpropertyName){PropertyName=propertyName;}publicoverrideobjectProvideValue(IServiceProviderserviceProvider){//(这段代码零容忍)varprop=Type.GetProperty(PropertyName);varattributes=prop.GetCustomAttributes(typeof(DisplayNameAttribute),false);返回(属性[0]作为DisplayNameAttribute).DisplayName;}}用法示例:publicpartialclassMainWindow:Window{[DisplayName("AwesomeInt")]publicintTestInt{get;放;}//...}不确定这会扩展到什么程度,但是您可以使用转换器来获取您的DisplayName。转换器如下所示:varattrib=propInfo.GetCustomAttributes(typeof(System.ComponentModel.DisplayNameAttribute),false);如果(attrib.Count()>0){return((System.ComponentModel.DisplayNameAttribute)attrib.First()).DisplayName;}返回String.Empty;}publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){thrownewNotImplementedException();那么您在XAML中的绑定将如下所示:以上是C#学习教程:在xaml中访问DisplayName共享的所有内容。如果对你有用,需要了解更多C#学习教程,希望你多多关注—Text="{BindingMode=OneWay,Converter={StaticResourceResourceKey=myConverter},ConverterParameter=MyPropertyName}"这篇文章是收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
