无法使用Application.LoadComponent加载app.xaml
本文关键字:加载 app xaml LoadComponent Application | 更新日期: 2023-09-27 18:14:39
我在一个项目中再现了一个问题,我需要使用Application加载App.xaml。
在只有一个WPF项目的小型解决方案中加载组件。我在一个单独的类中有一个应用程序入口点,它按如下方式创建应用程序:
[STAThread]
static void Main()
{
var app = new App();
var resource = new Uri("/WpfApplication1;component/app.xaml", UriKind.Relative);
Application.LoadComponent(app, resource);
app.Run(new MainWindow());
}
方法调用LoadComponent时抛出异常:
未处理的System.IO类型异常。发生IOException'PresentationFramework.dll
附加信息:Cannot locate resource 'app.xaml'.
我看不出我做错了什么,这个答案似乎指向相同的解决方案。还有这个
程序集名称是正确的,在问这个问题之前仔细检查一下。我尝试了以下资源位置,它们都导致相同的异常:
var resource = new Uri("/WpfApplication1;component/app.xaml", UriKind.Relative);
var resource = new Uri("/WpfApplication1;component/WpfApplication1/app.xaml", UriKind.Relative);
var resource = new Uri("/WpfApplication1;component/WpfApplication1.app.xaml", UriKind.Relative);
将App.xaml文件的Build Action更改为Page并运行。
var app = new App();
var resource = new Uri("/WpfApplication1;component/app.xaml", UriKind.Relative);
Application.LoadComponent(app, resource);
app.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
app.Run();