继承Window类的子类

时间:2014-05-10 02:39:59

标签: c# wpf xaml inheritance

我有一种 Window ,我经常使用它(使用OK按钮和代码隐藏,只允许在其他命令通过验证检查时启用它)。我不想为我创建的每个窗口复制粘贴这个代码隐藏,我想创建这个 ValidOKWindow ,它继承了 Window 并拥有全部我的其他窗口继承了它。但是,我无法按原样使用它。

我尝试将 ValidOKWindow 创建为 Window 的子项,然后仅替换其子类的代码隐藏继承:

public class WindowToInheritValidOK : ValidOKWindow

但是编译器对.xaml(< Window> )中的不同基类进行了大肆宣传,这并不令人惊讶。

我已尝试更改.xaml中的基类

<ValidOKWindow x:Class="WPF.WindowToInheritValidOK"

但WPF显然只允许自己的类作为.xaml中的基类。

由于C#不允许多类继承,我不知道如何做到这一点......

1 个答案:

答案 0 :(得分:1)

对于默认xml命名空间(xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation")下包含的基本框架本身之外的任何类型,您需要指定xml命名空间。对于您自己的代码中的自定义类型,通常使用xmlnsclr-namespace来完成。因此,如果您的Window类在C#名称空间中声明,那么#34; WPF&#34;那条线应该是这样的:

<local:ValidOKWindow x:Class="WPF.WindowToInheritValidOK" xmlns:local="clr-namespace:WPF"