2011-05-28 57 views
4

我目前正在做一个有趣的基本的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实现(页面之间大量复制和粘贴,甚至控制)它的冗长且容易出错。

,这是什么情况,当前的最佳实践?

回答

7
+0

我不知道为什么从来没有在我搜索了上来。我一定一直在努力。谢谢!这真棒(虽然由于缺乏对应用程序栏的支持而令人失望),并且与我的方法非常相似,所以它很容易交换。 – pickypg 2011-06-01 03:41:23