有没有更好的方法来继承WPF中的窗口

时间:2011-10-25 02:49:35

标签: wpf inheritance window

在winform中,我们可以轻松继承。但是在WPF中,我们不能继承包含XAML的类。所以每当我需要概括一些窗口的属性时,我创建一个没有XAML的基类。例如,我想让所有窗口都在中心屏幕启动。我在基类中使用了代码(此类不包含XAML)

namespace VBDAdvertisement
{
    public class BaseWindow:Window
    {
        public BaseWindow()
        {
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
        }
    }
}

这只是一个简单的任务。在我看来,对于更复杂的任务,逐行使用代码并不是一个好主意。所以我想知道在WPF中是否有更好的方法来继承窗口(更接近winform继承)?

2 个答案:

答案 0 :(得分:2)

这个post解释了你已经知道的xaml不支持视觉继承。他们提供的解决方案是创建一个提供公共属性的UserControl。

答案 1 :(得分:1)

实际上,这个topic教会了如何在不使用UserControl的情况下继承窗口