绑定到Silverlight中的const字段

绑定到Silverlight中的const字段,第1张

概述我有一种情况,其中一些应用程序范围的值存储为常量 – 这是一个要求,因为它们在属性定义中是必需的(属性必须在编译时解析,因此即使静态成员也不起作用). 我希望也能够在XAML文件中重用这些值.所以,如果我有这样的常量: public class MyConstants{ public const string Constant1 = "Hello World";} 我想以一种方式将它们绑 我有一种情况,其中一些应用程序范围的值存储为常量 – 这是一个要求,因为它们在属性定义中是必需的(属性必须在编译时解析,因此即使静态成员也不起作用).

我希望也能够在XAML文件中重用这些值.所以,如果我有这样的常量:

public class MyConstants{   public const string Constant1 = "Hello World";}

我想以一种方式将它们绑定到XAML中定义的控件,如下所示:

<TextBlock Text="{Binding MyConstants.Constant1}" />

这可能是直接的吗?我查看了绑定示例,但似乎无法找到这种情况.

可能会有一些我可以做的工作(可能绑定转换为通过反射动态拉动常量字段的方法的参数)

解决方法 这是我要采取的方法: –

通过XAML,我会使用如下的StaticResource语法: –

<TextBlock Text="{StaticResource MyConstants_Constant1}" />

在某处创建一个返回ResourceDictionary的静态方法,并将Type作为参数.该函数使用反射来枚举它公开的公共常量集.它将每个常量的字符串值添加到ResourceDictionary,从Type name和Consts名称中计算键名.

在应用程序启动期间,将typeof(MyConstants)传递给此函数,将返回的ResourceDictionarIEs添加到Application Resources MergedDictionarIEs属性中的集合中.

现在所有静态资源都应该正确解析,不需要调用任何绑定或设置任何datacontext以使其工作.在XAML解析期间解析该值.

总结

以上是内存溢出为你收集整理的绑定到Silverlight中的const字段全部内容,希望文章能够帮你解决绑定到Silverlight中的const字段所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1000944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存