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

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

Я до сих пор Edot ничего из XAML, как эти коды коды я нашел где-то от онлайн и использует его, чтобы попробовать ли это или нет Работа.

ответ

0

MainWindow : Shape? Я полагаю, что это должно быть MainWindow : Window

. Пожалуйста, проверьте базовый класс (корневой элемент) от конструктора MainWindow.xaml и используйте здесь тот же базовый класс.

Обычно классные классы верхнего уровня, такие как default 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 

наследует только класс страницы.