继承WPF窗口

时间:2014-04-26 11:29:37

标签: c# wpf visual-studio design-patterns user-interface

我有一个基类(WPF窗口)设计(xaml)和代码。

我想继承这个类,不是为了修改这个窗口的设计,而只是为了修改代码。

例如,我有一个登录窗口,它是我的基类,它有一个用户名文本框,密码文本框和登录按钮。

此外,它还有处理登录的代码。

现在,我想实现此对话框的2个基类:

  1. 对表X进行身份验证。

  2. 对表Y进行身份验证。

  3. 我认为我可以按如下方式设计我的基本对话框:

    ... 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();
    }
    

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

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

1 个答案:

答案 0 :(得分:0)

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