Application.LoadComponent 找不到资源

2024-04-04

我的项目中有一个 xaml 文件,位于Ns1\Ns2\myfile.xaml。它的构建操作设置为Page,使用自定义工具MSBuild:Compile。我正在尝试在静态构造函数中加载此文件:

namespace Ns1.Ns2 {
    internal class MyClass {
        static() {
            var obj = Application.LoadComponent(new Uri("/myfile.xaml", UriKind.Relative));
        }
    }
}

但是,当我尝试运行此代码时,它失败并出现异常cannot locate resource 'myfile.xaml'。如果我将 URI 更改为绝对 URI:

var obj = Application.LoadComponent(new Uri("pack://application:,,,/ns1/ns2/myfile.xaml", UriKind.Absolute));

它失败了Cannot use absolute URI。如果将 myfile.xaml 的类型更改为 Resource,则会出现相同的错误。

如何从代码编译和引用 myfile.xaml?


您应该指定程序集名称:

Application.LoadComponent(new Uri("/AssemblyName;component/myfile.xaml", UriKind.Relative))

或者,如果文件有代码隐藏类,您可以“新建”它,生成的代码将加载关联的 XAML。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Application.LoadComponent 找不到资源 的相关文章

随机推荐