我目前正在做一个有趣的基本的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