C# 生成操作页面或资源

C# 生成操作页面或资源,c#,xaml,C#,Xaml,我的应用程序中有几个ResourceDictionary,使其可本地化。这些文件的名称类似于Language_en.xaml、Language_nl.xaml等。下面给出了此类文件的示例 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsof

我的应用程序中有几个
ResourceDictionary
,使其可本地化。这些文件的名称类似于Language_en.xamlLanguage_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>
以上内容适用于CtOD设置为“不复制”且自定义工具设置为“MSBuild:Compile”的生成操作
Resource
Page

从中我学到了下面的引语,但对我的项目来说,什么是最好的

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

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


当您在VisualStudio(2017)中添加ResourceDictionary时,默认情况下会设置Build Action:Page,因此这是一个有利于页面的提示。我在下面的链接中找到了更多相关信息:

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