给定Dictionary<string, string>,如何在不手动编辑文件的情况下创建语言资源的ResourceDictionary字典?框架内是否有任何内置工具可以序列化/反序列化ResourceDictionary?
字典示例:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:v="clr-namespace:System;assembly=mscorlib">
<!-- Main window -->
<v:String x:Key="m_Title">Пример WPF локализации</v:String>
<v:String x:Key="m_lblHelloWorld">Привет мир!</v:String>
<v:String x:Key="m_menu_Language">Язык</v:String>
<v:Double x:Key="m_Number">10.5</v:Double>
</ResourceDictionary>
本地化示例取自此处。
我找到了一个可以 99% 解决我的问题的可行选项。该框架已经提供了创建、动态填充、保存到文件以及后续加载的功能。我唯一不明白的是如何向输出文件的 XAML 标记添加注释,如下所示:
单独类中的示例代码:
结果文件:
PS 我还没有测试读取,但写入工作正常,并且输出文件包含变量的正确表示。
来源#1
来源#2