2014-08-28 82 views
1

我一直在面对一个错误,告诉我部分声明不能指定不同的基类。'Triangle.MainWindow'的部分声明不能指定不同的基类

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

我得到错误:

public partial class MainWindow : Shape 

的“主窗口”给我的错误一个不同基地的指定。我如何去纠正这个错误?

我的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 EDOT什么,因为这代码是我发现某处从网上代号,并且用它来试试它是否工作。

回答

0

MainWindow : Shape?我想这是MainWindow : Window

请确认设计者的基类(根元素)从MainWindow.xaml并在这里使用相同的基类。

典型的顶级窗口类别,如默认MainWindow类别来自Window。而在你的情况我可以看到,如果你想创建一个形状类它从Shape

衍生再有就是形状类没有InitializeComponent(),它并不需要因此不需要局部类设计师。最后但并非最不重要的名字MainWindow听起来不太好听。你也许可以修改它。

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> 
0

您的主页应该是在格式

public sealed partial class MainPage : Page 

仅继承页面类。

相关问题