Частичные объявления Triangle.MainWindow не должны указывать разные базовые классы.

1

Я столкнулся с ошибкой, которая говорит мне, что частичные объявления не должны указывать другой базовый класс.

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, так как это коды, которые я нашел где-то в Интернете, и использую его, чтобы попробовать, работает ли он.

Теги:
wpf
shapes

3 ответа

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 

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

0

MainWindow: Shape? Я полагаю, что это MainWindow: Window

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

обычно классы верхнего уровня, такие как класс MainWindow умолчанию, происходят из Window. тогда как в вашем случае я вижу, что это происходит от Shape

если вы пытаетесь создать класс формы, то в классе формы нет InitializeComponent() и ему не нужен дизайнер, поэтому неполный класс не требуется. последнее, но не в последнюю очередь имя класса MainWindow не является хорошим именем для него. вы можете его пересмотреть.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню