C# 继承自;申请书;在wpf应用中

C# 继承自;申请书;在wpf应用中,c#,wpf,C#,Wpf,我目前正在WPF中构建一组应用程序,它们将使用Prism作为框架 它们有很多共同点,在我的两个应用程序之间唯一会发生变化的是将在Prism区域加载的内容 所以我想把一些事情放在一起 有一件事我没有成功,那就是用所有公共部分来实现一个公共的“应用程序”: 目标是: 应用程序在Visual Studio中使用默认模板创建新的WPF应用程序时,会得到一个继承自System.Windows.Application的App类 编译器为您添加了一个Main()方法,在该方法中创建了App类的实例,并在调用该

我目前正在WPF中构建一组应用程序,它们将使用Prism作为框架

它们有很多共同点,在我的两个应用程序之间唯一会发生变化的是将在Prism区域加载的内容

所以我想把一些事情放在一起

有一件事我没有成功,那就是用所有公共部分来实现一个公共的“应用程序”:

目标是:


应用程序在Visual Studio中使用默认模板创建新的WPF应用程序时,会得到一个继承自
System.Windows.Application
App

编译器为您添加了一个
Main()
方法,在该方法中创建了
App
类的实例,并在调用该方法启动应用程序之前调用该方法来解析XAML

如果要执行以下操作,您可以添加并定义
Main()
方法:

[System.STAThreadAttribute()]
public static void Main()
{
    App app = new App();
    app.InitializeComponent();
    app.Run();
}
但显然,您不能创建抽象类的实例。因此,如果
BaseApp
包含XAML,则不应将其定义为抽象类


另一种方法是将XAML和
Main()
方法移动到您的
mySpecificCAPP
类中,并在
Main()
方法中创建此方法的实例。

我明白了,但随后我松开了“我不想导入我的样式集10次”,有什么解决方法吗?将样式放在资源字典中,然后合并到应用程序或窗口中?
public  class MySpecificApp : BaseApp
{
    protected override BaseBootstrapper GetBootstrapper(){
        return //something ;
    }
}
[System.STAThreadAttribute()]
public static void Main()
{
    App app = new App();
    app.InitializeComponent();
    app.Run();
}