2014-08-28 19 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 

僅繼承頁面類。

相關問題