ResourceDictionaries我的应用程序中有几个可以使其可本地化.这些文件的名称类似于Language_en.xaml,Language_nl.xaml等.下面给出了这种文件的一个例子.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<!-- DO NOT LOCALIZE -->
<system:String x:Key="Language">English</system:String>
<FlowDirection x:Key="FlowDirection">LeftToRight</FlowDirection>
<!-- DO LOCALIZE -->
<system:String x:Key="Title">English Title External</system:String>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
要在应用程序运行时加载这些文件,我创建如下路径:
_appResDicSource = Path.Combine("\\" + _projectName + ";component", _languagesDirectoryName,
_fileBaseName + "_" + language + ".xaml");
_clsLibResDicSource = "\\MyDLL;component\\Languages\\Language_" + language + ".xaml";
Run Code Online (Sandbox Code Playgroud)
以上内容适用于构建操作Resource和PageCtOD设置为"不复制",自定义工具设置为"MSBuild:编译".
从这个链接我学到了下面的引用,但对我的项目来说最好的是什么?
资源(仅限wpf):将文件嵌入共享(由具有类似设置的程序集中的所有文件)组装清单资源,名为AppName.g.resources.
Page(仅限wpf):用于将xaml文件编译为baml.然后使用与Resource相同的技术嵌入baml(即可用作'AppName.g.resources)
当您在 Visual Studio (2017) 中添加 ResourceDictionary 时,默认设置“构建操作:页面”,因此这是有利于页面的提示。我在下面的链接中找到了更多相关信息:
| 归档时间: |
|
| 查看次数: |
2241 次 |
| 最近记录: |