綁定在Windows Phone 7的靜態(tài)類
原創(chuàng)【51CTO譯文】能夠綁定到一個(gè)應(yīng)用程序的各個(gè)部分,這是對(duì)全局變量的一個(gè)基本要求。人們通常認(rèn)為這樣的變量是靜態(tài)的。
這個(gè)問(wèn)題在論壇上似乎開(kāi)始流行起來(lái),通常的建議是,包含“全局“變量模型的一部分作為頁(yè)面的DataContext使用,或許是不可能的。在模型中進(jìn)行這樣的功能復(fù)制,是不明智的,也是沒(méi)有必要的。
它不可能綁定到一個(gè)靜態(tài)類,因?yàn)榻壎ㄐ枰粋€(gè)對(duì)象實(shí)例。
當(dāng)然,你也可以綁定到一個(gè)類的靜態(tài)屬性。
我們可以綁定下面的靜態(tài)屬性
- namespace StaticBinding
- {
- public class MyStaticClass
- {
- private static string myStaticProperty = "my static text";
- public static string MyStaticProperty
- {
- get { return myStaticProperty; }
- set { myStaticProperty = value; }
- }
- }
- }
然后,我們可以創(chuàng)建一個(gè)應(yīng)用程序級(jí)別的資源,我們實(shí)際上可以綁定到下面的代碼:
- .. xmlns:myns="clr-namespace:StaticBinding"
- <application.resources>
- <mystaticclass x:key="MyStaticClassResource"></mystaticclass>
- </application.resources>
真不好意思,不知道代碼為什么會(huì)迫使大寫(xiě),我敢肯定你足夠聰明,能分辨出什么應(yīng)該被大寫(xiě)。
- ..
- <textblock text="{Binding Path=MyStaticProperty, Source={StaticResource MyStaticClassResource}}">
- ..
- </textblock>
這是一個(gè)很好的方面,你甚至可以得到IntelliSense的路徑。(假設(shè)你事先設(shè)置了“Source”)
原文出處
原文名:Binding to static classes in Windows Phone 7
作者:Matt Lacey
【51CTO.com獨(dú)家特稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請(qǐng)注明原文作者及出處!】
【編輯推薦】
- Windows Phone 7設(shè)計(jì)評(píng)測(cè)報(bào)告
- 微軟發(fā)布Windows Phone 7開(kāi)發(fā)者向?qū)?/a>
- 信息圖表:Windows Phone 7分析報(bào)告
- 使用IronRuby開(kāi)發(fā)Windows Phone 7應(yīng)用程序
- 不編程也開(kāi)發(fā) 無(wú)代碼開(kāi)發(fā)Windows Phone 7應(yīng)用工具