如何将启动uri属性设置为wpf项目中文件夹中的另一个窗口

Sek*_*abu 7 wpf startup-folder

在我的wpf项目中,我创建了一个名为practice的文件夹,在该文件夹中我添加了一个窗口,现在我想运行该窗口,所以在app.xaml文件中我将启动uri设置为foldername.window.xaml但是它说是构建action属性未设置为resource.

为此,我将构建动作属性设置为资源.现在这次它显示错误消息初始化的组件在当前上下文中不存在.

你能告诉我在wpf项目中创建单独的文件夹时我们需要设置哪些属性,并且文件夹包含窗口或页面.以及如何在其他页面或App.Xaml文件startupUri属性中访问这些页面.

Ian*_*ths 15

如果项目结构中有文件夹,则应使用"/"而不是".",这样就可以了foldername/window.xaml.

(我希望它实际上并没有被调用window.xaml.这对于WPF项目中的类型来说是一个令人困惑的名称,因为它有一个内置类型的名字Window.)

将构建操作设置为Resource会使事情变得更糟:不仅使用了错误的名称,现在您已将构建操作更改为错误的XAML..xaml通常,文件的正确构建操作Page.(App.xaml是该规则的一个例外.)Page构建操作导致页面被编译成二进制表示(称为BAML),然后可以通过代码InitializeComponent隐藏中的调用或通过来加载该二进制格式Application.LoadComponent.

将构建操作设置为Resource只会直接在项目中嵌入XAML源的副本,这对您没有帮助 - 如果您想拥有代码隐藏文件,则无法使用该窗体中的XAML.(无论如何,不​​是在WPF中.它与其他基于XAML的框架(如WinRT)不同.)

由于Page是新添加窗口的默认构建操作,因此实际上根本不需要设置任何属性.您只需要/用于文件夹边界.


Deb*_*ash 7

如果 XAML 在任何文件夹内,则启动 url 将定义如下。

在此处输入图片说明

这就是它将如何定义。 在此处输入图片说明