WPF - XAML для производной страницы - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь создать механизм, подобный плагину, для загрузки пользовательских GUI страниц (с использованием DLL) для главного окна во время выполнения. Каждая страница должна иметь совершенно разный макет, разные элементы управления. В то же время я не могу извлечь из обычной страницы WPF, потому что мне нужно обновить ее с несколькими дополнительными функциями (больше методов, больше событий и т. Д. c ...).

Этот код работает (полностью , включая загрузку этой страницы из DLL во время выполнения):

// custom page DLL

public partial class MyGamePage : Page { ... }

Но этот код не является:

// DLL shared between main window and custom pages DLLs

class GamePage : Page
{
    public int Score;
    //... and many more extra things I need here/
}

// custom page DLL

public partial class MyGamePage : GamePage { ... }

Ошибка говорит: «Частичные объявления MyGamePage не должны указывать разные базовые классы ... "

Если MyGamePage получено из Page (рабочее решение), XAML имеет запись root как <Page>...</Page>. И это прекрасно работает.

Код, который не работает (где MyGamePage происходит от GamePage), я попытался изменить в XAML с <Page>...</Page> на <local:GamePage>...</local:GamePage>. Хотя кажется логичным, вызывает много новых ошибок. Не исправить исходную ошибку с помощью «Частичное объявление ...»;

Есть ли способ решить эту проблему?

Vojtek

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...