【发布时间】:2016-11-10 13:32:46
【问题描述】:
我有一个 WPF 应用程序,我在其中使用资源文件使其成为多语言。
像这样:
private void Application_Startup(object sender, StartupEventArgs e)
{
try
{
var lang = new Uri("pack://siteoforigin:,,,/Languages/" + Settings.Default.Language + ".xaml", UriKind.RelativeOrAbsolute);
this.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = lang });
}
catch
{
this.Resources.MergedDictionaries.Clear();
this.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = new Uri("..\\Languages\\English.xaml", UriKind.RelativeOrAbsolute) });
}
}
因此,对于任何显示文本的标签,我将它们设置为:
<TextBlock Text="{DynamicResource DYouKnow}"/>
这在运行时效果很好,但在设计时我在标签上看不到默认文本,这使得设计/维护 UI 变得很困难。
还有其他方法吗?
【问题讨论】:
标签: c# wpf xaml localization