我的项目中有一个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));
}
}
}
然而,当我尝试运行这段代码时,它会因为异常无法定位资源'myfile.xaml'
而失败。如果我将URI更改为绝对URI:
var obj = Application.LoadComponent(new Uri("pack://application:,,,/ns1/ns2/myfile.xaml", UriKind.Absolute));
当我尝试使用绝对URI时,出现了错误Cannot use absolute URI
。如果我将myfile.xaml的类型更改为Resource,则会得到相同的错误。
我该如何从代码中编译和引用myfile.xaml?
/WpfApplication1;ns1/ns2/myfile.xaml
吗?但是这样行不通。 - thecooppack://application:,,,/AssemblyName;component/myfile.xaml
。请注意,LoadComponent
不接受绝对 URI。 - Eli Arbel