XAML 生成操作页或资源

vwoqyblh  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(87)

我在我的应用程序中有几个ResourceDictionaries,使其可本地化。这些文件的名称闻起来像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>

字符串
为了在应用程序运行时加载这些文件,我创建了如下路径:

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


上述方法适用于构建操作ResourcePage,其中CtOD设置为“Do not copy”,自定义工具设置为“MSBuild:Compile”。
this link我学到了下面的报价,但什么是最适合我的项目?
资源(仅WPF):将文件嵌入名为AppName.g.resources的共享(由程序集中具有类似设置的所有文件共享)程序集清单资源中。
页面(仅WPF):用于将xaml文件编译为baml。然后,baml将使用与Resource相同的技术嵌入(即,作为`AppName.g.resources提供)

hm2xizp9

hm2xizp91#

当你在Visual Studio(2017)中添加一个ResourceDictionary时,默认情况下会设置Build Action:Page,所以这是一个支持Page的提示。我在下面的链接中找到了更多相关信息:
https://learn.microsoft.com/en-us/dotnet/framework/wpf/app-development/wpf-application-resource-content-and-data-files

相关问题