将 startupuri 更改为派生窗口类

  • 本文关键字:派生 窗口 startupuri c# wpf
  • 更新时间 :
  • 英文 :


假设在一个 WPF 项目中,我构建了一个抽象窗口类,以便我可以向从该类创建的每个窗口添加一些基属性:

// Abstract window, based on normal window
public abstract partial class abs_window : Window
{
// example of added property to my abstract class
protected int xxx = 25;
public abs_window()
{
InitializeComponent();
}
}
// Another class dervied from my abstract window 
public partial class derivedWindow : abs_window
{
void aa()
{
// Random method aa() to show access to the protected xxx int
MessageBox.Show(Convert.ToString(xxx));
}
}

所以,这编译得很好,但我的 StartUpUri 指向我根本不想要的默认主窗口......我希望它直接指向我的双重派生derivedWindow类的新实例?这可能吗?

我都试过了StartupUri="abs_window.xaml"StartupUri="derivedWindow.xaml">但第一个无法工作,因为它是抽象的,第二个不起作用,因为没有现有的 .xaml 文件

如果我添加新的"窗口".xaml 文件,它将只是一个普通窗口,而不是我的派生类型!?

代表汉斯的评论回答,除非他选择回答:

首先在默认的App类(App.xaml.cs(中创建了一个启动方法,就像Hans的链接一样

public partial class App : Application
{
void App_Startup(object sender, StartupEventArgs e)
{
derivedWindow window = new derivedWindow();
window.Show();
}
}

但是该链接没有提到的是通过替换似乎.xaml总是用我在这里找到的Startup方法StartupUri="MainWindow"Startup="App_Startup"StartupUri来更改App.xaml文件

最新更新