“Triangle.MainWindow”的部分声明不得指定不同的基类

时间:2014-08-28 02:04:56

标签: c# .net wpf shapes

我一直面临一个错误,告诉我部分声明不能指定不同的基类。

public partial class MainWindow : Shape
    {
        public MainWindow()
        {
            InitializeComponent();
            this.Stretch = System.Windows.Media.Stretch.Fill;
            this.StrokeLineJoin = PenLineJoin.Round;
        }

我收到错误:

public partial class MainWindow : Shape

' MainWindow'给我一个关于指定不同基数的错误。我该如何纠正这个错误?

我的XAML目前是默认的:

   <Window x:Class="Triangle.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>

    </Grid>
</Window>

我还没有编辑任何来自XAML的内容,因为这些代码是我在网上找到的代码,并且正在使用它来试验它是否有效。

3 个答案:

答案 0 :(得分:1)

MainWindow通常会延伸Window

因此,在您的代码隐藏中,您会看到public partial class MainWindow : Window,在您关联的XAML中,您会看到类似的内容:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        ... />
    ...
</Window>

要扩展另一个类(不确定Shape是什么,但我认为在这种情况下它是合适的),除了代码隐藏之外,你还必须更正你的XAML ......这样:

<Shape x:Class="WpfApplication1.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       ... />
    ...
</Shape>

答案 1 :(得分:0)

MainWindow : Shape?我想它是MainWindow : Window

请从MainWindow.xaml的设计者验证基类(根元素)并在此处使用相同的基类。

通常,默认MainWindow类等顶级窗口类派生自Window。而在你的情况下,我可以看到它来自Shape

如果您正在尝试创建一个形状类,那么形状类中没有InitializeComponent(),并且它不需要设计器,因此不需要部分类。最后但并非最不重要的是,类名MainWindow听起来并不是一个好名字。你也许可以修改它。

答案 2 :(得分:0)

您的主页应采用

格式
public sealed partial class MainPage : Page 

仅继承Page Class。