如何在WPF中的System.Windows.Window中限制自动生成的继承

时间:2015-01-10 09:56:39

标签: c# wpf inheritance

我正在使用FormBase.cs继承的WPF表单,其类型为Window。现在我用这个创建的FormBase.cs基类改变普通表单继承。但现在问题是每次使用FormBase.cs继承的部分类会自动更改为默认继承,在表单的每个更改中都是Windows。我找到了

  
    

' Wpf_Fomrs.MainWindow'的部分声明不得指定不同的基础

  

编译代码时出现此错误。

代码:

[System.ComponentModel.DesignerCategory("")]
public class FormBase : Window, IFormBase // Base class
{
}

[System.ComponentModel.DesignerCategory("Form")]
public partial class MainWindow : FormBase // Created normal form
{
}

//Auto generated partial class which again inherited with `Window` class
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
}

// I want this result every time.
public partial class MainWindow : System.Windows.Markup.IComponentConnector {
}

使用Win Forms时我没有发现这样的问题。 WPF表单中的代码生成逻辑有什么问题?

修改

MainWindow的XAML看起来像

<Window x:Class="Wpf_Forms.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Form1" Height="350" Width="525" SizeToContent="WidthAndHeight"  xmlns:my="clr-namespace:Foundation.ControlsWpf;assembly=Foundation" Loaded="Window_Loaded" Topmost="True" WindowState="Maximized">

0 个答案:

没有答案