【51CTO译文】能够绑定到一个应用程序的各个部分,这是对全局变量的一个基本要求。人们通常认为这样的变量是静态的。
这个问题在论坛上似乎开始流行起来,通常的建议是,包含“全局“变量模型的一部分作为页面的DataContext使用,或许是不可能的。在模型中进行这样的功能复制,是不明智的,也是没有必要的。
它不可能绑定到一个静态类,因为绑定需要一个对象实例。
当然,你也可以绑定到一个类的静态属性。
我们可以绑定下面的静态属性
- namespace StaticBinding
- {
- public class MyStaticClass
- {
- private static string myStaticProperty = "my static text";
- public static string MyStaticProperty
- {
- get { return myStaticProperty; }
- set { myStaticProperty = value; }
- }
- }
- }
然后,我们可以创建一个应用程序级别的资源,我们实际上可以绑定到下面的代码:
- .. xmlns:myns="clr-namespace:StaticBinding"
真不好意思,不知道代码为什么会迫使大写,我敢肯定你足够聪明,能分辨出什么应该被大写。
- ..
- ..
这是一个很好的方面,你甚至可以得到IntelliSense的路径。(假设你事先设置了“Source”)
原文出处
原文名:Binding to static classes in Windows Phone 7
作者:Matt Lacey
【51CTO.com独家特稿,非经授权谢绝转载,合作媒体转载请注明原文作者及出处!】
【编辑推荐】
上一篇:全球10大终极数据库(下篇)
下一篇:Zabbix下数据库的选择