我尝试在WPF中使用继承。我之前已经提出了一个问题,但没有人回答正确。所以我尝试用一些UI元素制作一个BaseWindow类,我希望继承我的BaseWindow的其他窗口会有这些UI元素。怎么做。我使用WinForms应用程序的做法不再适用。也许有一些简单的例子或smth ..?感谢
答案 0 :(得分:0)
您是否尝试过基于标签?我不知道windows,但这就是你用户控件AFAIK的用途。
答案 1 :(得分:0)
如果你想从一个窗口继承,你需要在代码中创建一个窗口的实现,然后你可以从这继承 - 请注意,XAML中的Window声明需要更改为指向此代码,例如
<src:BaseWindow xmlns:src="clr-namespace:BaseWindowNamespace" ...>
如果使用XAML定义基本窗口,则会出现以下错误:
“ 'WpfApplication1.Window1.InitializeComponent()' 隐藏继承的成员 BaseWindowNamespace.BaseWindow.InitializeComponent()”。 如果隐藏了,请使用new关键字 意“
“BaseWindowNamespace.BaseWindow不能 是XAML文件的根,因为它 是使用XAML“
定义的
现在,在这一点上,我必须指出,这与你应该处理窗口组成的方式背道而驰。执行此操作的“标准”方式是使用内容模板来显示可以交换和样式化以实现不同外观和功能的用户控件。通过这种方式,窗口的功能成为线束的功能,您可以实现内容的清晰分离,这可以使用MVVM轻松实现。