C# 继承WPF窗口
我有一个基类(WPF窗口)、设计(xaml)和代码 我想继承这个类,不是为了修改这个窗口的设计,而是为了修改代码 例如,我有一个登录窗口,它是我的基类,它有一个用户名文本框,密码文本框和登录按钮 此外,它还有处理登录的代码 现在,我想实现此对话框的两个基类:C# 继承WPF窗口,c#,wpf,visual-studio,design-patterns,user-interface,C#,Wpf,Visual Studio,Design Patterns,User Interface,我有一个基类(WPF窗口)、设计(xaml)和代码 我想继承这个类,不是为了修改这个窗口的设计,而是为了修改代码 例如,我有一个登录窗口,它是我的基类,它有一个用户名文本框,密码文本框和登录按钮 此外,它还有处理登录的代码 现在,我想实现此对话框的两个基类: 根据表X进行身份验证 根据表Y进行身份验证 我认为我可以按如下方式设计我的基本对话框: ... BaseLoginWnd : Window { ... void Login_Click(...) // This metho
... BaseLoginWnd : Window
{
...
void Login_Click(...) // This method is implemented as a Template Method (Design pattern)
{
...
if (Authenticate())
{
MessageBox.Show("Success");
}
else
{
MessageBox.Show("Failure");
}
...
}
abstract bool Authenticate();
}
我要提到的是,我知道这不是这个特定示例的最佳设计(最好创建一个单独的类来执行登录),但这只是一个示例
因此,我的问题是-如何使用基类的设计从窗口继承?不可能继承同时具有XAML和代码的窗口/控件类。将整个文本框/按钮创建逻辑放在代码中,删除XAML文件,然后您就可以继承该类。您尝试了什么?您看到了吗?UI不是身份验证相关代码的适当位置。删除代码背后的所有内容,创建适当的ViewModel和服务层,并将每一项职责放在它所属的位置。您不需要为此对任何UI元素进行子类化,因为UI与您在这里所做的事情无关。