继承WPF窗口

3
我有一个基类(WPF窗口),包括设计(xaml)和代码。
我想继承这个类,但不是为了修改窗口的设计,而只是为了修改代码。
例如,我有一个登录窗口作为我的基类,它有一个用户名文本框、一个密码文本框和一个登录按钮。
此外,它还有处理登录的代码。
现在,我想实现这个对话框的2个基类:
1. 对表X进行身份验证。
2. 对表Y进行身份验证。
我认为我可以设计我的基础对话框如下:
... 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();
}

我想提醒您的是,我知道这不是这个特定示例的最佳设计(最好创建一个单独的类来执行登录),但这只是一个例子。

所以我的问题是 - 如何继承窗口,使用基类的设计?


你尝试了什么?你有看过这个问题吗? - Joe Amenta
2
UI 不是适当的身份验证相关代码位置。从代码后台中删除所有内容,创建适当的 ViewModel 和服务层,并将每个责任放在其应该在的位置。你不需要为此子类化任何 UI 元素,因为 UI 与你在这里所做的事情无关。 - Federico Berasategui
1个回答

0

无法继承同时具有XAML和代码后台的窗口/控件类。将整个文本框/按钮创建逻辑放在代码后台中,删除XAML文件,然后您就可以继承该类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接