我目前正在做一個有趣的基本的Windows Phone 7應用程序,和我想的存儲串(目前只有那些)值在RESX文件,而不是使用RESX與Windows Phone 7的嵌入他們所有的XAML文件中直接,或者甚至添加代碼來手動插入值。在XAML
在WPF中,使用屬性從RESX文件,只需映射包含RESX命名空間:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:resx="clr-namespace:Namespace.To.Your.Resx;assembly=SuppliedIfSeparate"
,然後使用它:
<TextBlock Text="{x:Static resx:Strings.AppTitle}" />
不過,我試過,我讀過x:Static
僅僅是Silverlight不支持的,擴展名不支持WP7(Silverlight 5/Mango中的It appears that they have provided the means, but not direct access to x:Static
(法文))。
我發現this post描述了手動創建利用類似功能的「AppConverter
」級,這是目前我在做什麼。這篇文章的要點是在您的XAML頁面中創建一個資源,該資源將AppConverter類用於預先指定的鍵,然後使用它來用綁定替換x:Static
。
<TextBlock Text="{Binding Source={StaticResource AppTitle},Converter={StaticResource ResourceRetriever}}" />
它的工作原理,但相比WPF實現(頁面之間大量複製和粘貼,甚至控制)它的冗長且容易出錯。
,這是什麼情況,當前的最佳實踐?
我不知道爲什麼從來沒有在我搜索了上來。我一定一直在努力。謝謝!這真棒(雖然由於缺乏對應用程序欄的支持而令人失望),並且與我的方法非常相似,所以它很容易交換。 – pickypg 2011-06-01 03:41:23