目前,如果您想在 windows phone 应用程序中本地化说应用程序标题,您可以这样做:
<TextBlock Text="{Binding LocalizedResources.ApplicationTitle,
Source={StaticResource LocalizedStrings}}" />
这太长了,并且每次绑定都会重复某些部分。即使您要将LocalizedResources
属性重命名为R
和LocalizedStrings
类LS
,例如,仍然存在一些重复。
所以我尝试制作一个从Binding
类继承并实现如下的类:
public class LocalizedBinding : Binding {
public LocalizedBinding(string path) : base(path) {
Source = Application.Current.Resources["LocalizedStrings"];
}
}
希望是按如下方式使用它:
<TextBlock Text="{b:LocalizedBinding LocalizedResources.ApplicationTitle}" />
但是,应用程序在启动时立即崩溃,即使在调试器中我也看不到任何错误。关于这可能如何工作的任何提示?
谢谢
编辑:
将无参数构造函数LocalizedBinding
添加Path=
到绑定并附加到绑定可以修复它。