C# XAML窗口上的抽象类
是否有机会将抽象类添加到wpf窗口 以下是我目前的代码: 我的窗口:C# XAML窗口上的抽象类,c#,wpf,class,xaml,abstract,C#,Wpf,Class,Xaml,Abstract,是否有机会将抽象类添加到wpf窗口 以下是我目前的代码: 我的窗口: public partial class VORLAGE : Window, IWindow, IDisposable { //SOME CODE } IWindow.cs: public interface IWindow { void Open(MachineOrder machineOrder, Boolean showWindow); void
public partial class VORLAGE : Window, IWindow, IDisposable
{
//SOME CODE
}
IWindow.cs:
public interface IWindow
{
void Open(MachineOrder machineOrder, Boolean showWindow);
void OpenEditMode(MachineOrder machineOrder);
void Close();
void OpenManualOrder();
}
有很多基于“VORLAGE”窗口的窗口,我想添加一个抽象类来定义一些基本功能。
有没有办法做到这一点?您应该能够将VORLAGE类抽象化,然后将共享其功能的其他窗口作为子类。例如:
// VORLAGE class containing the shared base code
public abstract partial class VORLAGE : Window, IWindow, IDisposable
{
// Shared base code
}
// Your multiple window classes which utilize the same base code
public partial class MyVorlageWindowA : VORLAGE
{
// Specific concrete code
}
public partial class MyVorlageWindowB : VORLAGE
{
// Different, specific concrete code
}
您应该能够将VORLAGE类抽象化,然后将共享其功能的其他窗口作为子类。例如:
// VORLAGE class containing the shared base code
public abstract partial class VORLAGE : Window, IWindow, IDisposable
{
// Shared base code
}
// Your multiple window classes which utilize the same base code
public partial class MyVorlageWindowA : VORLAGE
{
// Specific concrete code
}
public partial class MyVorlageWindowB : VORLAGE
{
// Different, specific concrete code
}
窗口继承,而不必从抽象继承所需的功能。您可以将这些功能作为该窗口的子组件,也可以使用IoC
MyBaseWindow
从Window、IWindow、
继承,也可以从该MyBaseWindow
继承其他窗口窗口继承,而不必从抽象继承所需的功能。您可以将这些功能作为该窗口的子组件,也可以使用IoC
MyBaseWindow
从Window、IWindow、
继承,也可以从该MyBaseWindow
继承其他窗口我理解这个问题了吗?创建抽象类,让Window成为它的基类。我有很多窗口都做同样的事情。我想在窗口中实现一个抽象类,在这里我可以定义一些函数,我能很好地理解这个问题吗?创建抽象类,让Window成为它的基类。我有很多窗口都做同样的事情。我想在窗口中实现一个抽象类,在这里我可以定义一些函数,这很好,但是我得到了一个错误:
的部分声明不能指定不同的基类
我已经有一段时间没有处理XAML和部分类了,所以我有点生疏了。尝试将具体类保留为partial,但从抽象VORLAGE类定义中去掉partial关键字。xaml的设计器代码应该从VORLAGE而不是窗口继承。那是零件的另一部分。窗户看起来完全不一样。是否有机会超越设计器的一部分?这就是使用抽象类的想法。抽象类应该用作模板,只包含所有实际窗口实现将使用的相同共享代码。然后,在您的具体窗口中,您将编程使每个窗口实现彼此不同的特定组件。听起来不错,但我得到一个错误:的部分声明不能指定不同的基类
我已经有一段时间没有处理XAML和部分类了,所以我有点生疏了。尝试将具体类保留为partial,但从抽象VORLAGE类定义中去掉partial关键字。xaml的设计器代码应该从VORLAGE而不是窗口继承。那是零件的另一部分。窗户看起来完全不一样。是否有机会超越设计器的一部分?这就是使用抽象类的想法。抽象类应该用作模板,只包含所有实际窗口实现将使用的相同共享代码。然后,在具体的窗口中,您将编写使每个窗口实现彼此不同的特定组件。