我有一种 Window ,我经常使用它(使用OK按钮和代码隐藏,只允许在其他命令通过验证检查时启用它)。我不想为我创建的每个窗口复制粘贴这个代码隐藏,我想创建这个 ValidOKWindow ,它继承了 Window 并拥有全部我的其他窗口继承了它。但是,我无法按原样使用它。
我尝试将 ValidOKWindow 创建为 Window 的子项,然后仅替换其子类的代码隐藏继承:
public class WindowToInheritValidOK : ValidOKWindow
但是编译器对.xaml(< Window> )中的不同基类进行了大肆宣传,这并不令人惊讶。
我已尝试更改.xaml中的基类
<ValidOKWindow x:Class="WPF.WindowToInheritValidOK"
但WPF显然只允许自己的类作为.xaml中的基类。
由于C#不允许多类继承,我不知道如何做到这一点......
答案 0 :(得分:1)
对于默认xml命名空间(xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
)下包含的基本框架本身之外的任何类型,您需要指定xml命名空间。对于您自己的代码中的自定义类型,通常使用xmlns
和clr-namespace
来完成。因此,如果您的Window
类在C#名称空间中声明,那么#34; WPF
&#34;那条线应该是这样的:
<local:ValidOKWindow x:Class="WPF.WindowToInheritValidOK" xmlns:local="clr-namespace:WPF"