如何制作我自己的基础窗口?

时间:2016-03-25 12:12:39

标签: c# wpf xaml

我想要自己的基本MainWindow。我要创建一个新的MyWindow,它会继承自定义MainWindow的所有控件和内容。

我试图谷歌但我没有找到答案我的问题。当我尝试使用新的Window作为另一个Window Visual Studio的基础时说:

  

WpfApplication1.MainWindowCustom不能是XAML文件的根,因为它是使用XAML定义的。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

基础Window只能使用代码创建,而不能使用XAML创建。

所以基本上这就是你要做的事情:

public class BaseWindow : Window
{
    // custom logic here
    // add controls, etc.
}

然后,您从BaseWindow中的Window派生出来:

<local:BaseWindow x:Class="SomeWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:local="clr-namespace:Namespace.To.Local"
>
</local:BaseWindow>

public partial class SomeWindow : BaseWindow
{
}