有很多文章描述了如何在WPF中创建自定义形状的窗口但是没有一个(至少我找不到)描述了如何构建可重用的窗口,例如在其他窗口中继承它。
我尝试从自定义窗口创建ControlTemplate。问题出在Close按钮和MoveDrag()方法上。
如果我将事件连接到ControlTemplate中的其他控件之一,则其Parent属性为null,因此我无法拖动或关闭窗口。
有没有人有任何想法如何创建可重复使用的自定义窗口模板?
答案 0 :(得分:2)
不幸的是,在WPF中没有可视继承这样的东西。 (没有xaml继承更具体)
对于您的特定问题,您可以创建CustomForm作为模板(中间有一个大的空容器),而不是继承,然后创建所有其他表单作为填充该容器的usercontrols。
答案 1 :(得分:0)
以下内容将返回包含控件的窗口对象:
Window.GetWindow(myControl)