gpt4 book ai didi

xaml - WinRT 类库 (DLL) 中的资源字典

转载 作者:行者123 更新时间:2023-12-01 12:51:37 25 4
gpt4 key购买 nike

有谁知道 WinRT 是否真的支持使用带有嵌入式 XAML 资源字典的 C#(我想是 VB)创建类库 (DLL),然后在另一个项目中添加对这些 DLL 的引用并合并到该字典中,甚至加载字典从“资源”到内存中的字符串?

这似乎应该从根本上得到支持,但我似乎无法让它工作,因为当我添加对该 DLL 的引用时,我总是会收到一个错误,指出缺少有效负载。现在我知道 XAML 文件实际上并没有被编译到 DLL 中,而是只是作为 appx 的一部分进行部署。 Visual Studio 显然在这方面遇到了麻烦,但我可以手动将文件复制到不同的位置,至少可以解决这个问题。 (据我所知,这在发布之前被认为是一个已知问题,但我似乎也无法让它在发布版本中开箱即用)。此外,即使我确实设法添加了引用,我似乎仍然无法访问资源字典。我尝试了多种方式,例如将其合并到其他资源中(使用 ms-appx 语法)。我还尝试将字典从文件加载到字符串中,只是为了看看我是否可以获得访问权限。似乎没有骰子。

哦,如果我想将这样的 DLL 提供给其他人,我将如何部署它?有推荐的方法吗?

最佳答案

Tim's article是创建自定义控件的最佳指南,它也适用于资源字典。基本上,您可以选择构建一个 NuGet 包(这些实际上不必公开共享 - 您可以轻松地共享/添加私有(private) NuGet 包)或构建一个安装到 Visual Studio 中并可供所有应用程序使用的扩展。

当然,您也可以手动共享包。假设您的应用程序引用位于

MySolution/MyApplication/Dependencies/MyLibrary.dll

您还需要输入 .pri文件在同一个文件夹中,如下所示:

MySolution/MyApplication/Dependencies/MyLibrary.pri

然后您将资源放在一个名为 library 的子文件夹中,与它们在 library 项目中的子文件夹层次结构相同,例如

MySolution/MyApplication/Dependencies/MyLibrary/Themes/Generic.xaml
MySolution/MyApplication/Dependencies/MyLibrary/Resources/Brushes.xaml
MySolution/MyApplication/Dependencies/MyLibrary/Resources/TextBlockStyles.xaml
MySolution/MyApplication/Dependencies/MyLibrary/Resources/ButtonStyles.xaml
...

完成后 - Visual Studio 会在构建应用时自动选取这些文件并将它们放入 appx 包中。

关于xaml - WinRT 类库 (DLL) 中的资源字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12082276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com