构建行动页面或资源

时间:2015-04-27 05:36:30

标签: c# xaml

我的应用程序中有几个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>

要在应用程序运行时加载这些文件,我创建如下路径:

_appResDicSource = Path.Combine("\\" + _projectName + ";component", _languagesDirectoryName,
            _fileBaseName + "_" + language + ".xaml");
_clsLibResDicSource = "\\MyDLL;component\\Languages\\Language_" + language + ".xaml";

以上内容适用于构建操作ResourcePage,其中CtOD设置为“不复制”,自定义工具设置为“MSBuild:Compile”。

this link我学到了以下引文,但对我的项目来说最好的是什么?

  

资源(仅限wpf):将文件嵌入共享(由具有类似设置的程序集中的所有文件),程序集清单资源名为AppName.g.resources。

     

页面(仅限wpf):用于将xaml文件编译为baml。然后使用与Resource相同的技术嵌入baml(即可用作“AppName.g.resources”)

1 个答案:

答案 0 :(得分:0)

在Visual Studio(2017)中添加ResourceDictionary时,默认情况下会设置“生成操作:页面”,因此这是偏向于Page的提示。我在下面的链接中找到了更多相关信息:

https://docs.microsoft.com/en-us/dotnet/framework/wpf/app-development/wpf-application-resource-content-and-data-files

相关问题