Ваш класс MainView
определен в XAML, не так ли?Вероятно, это выглядит примерно так:
<Window x:Class="MyNamespace.MainView" ... >
...
</Window>
Обратите внимание на большое Window
слово в самом начале.Он сообщает компилятору, что вы хотите, чтобы этот XAML генерировал класс с именем MyNamespace.MainView
, и вы хотите, чтобы он наследовал от Window
.Вот что делает компилятор: он успешно генерирует ваш класс и наследует от Window
.Щелкните правой кнопкой мыши слово InitializeComponent
и выберите «Перейти к определению».Это приведет вас к автоматически сгенерированному файлу, и вы сможете увидеть класс.
Теперь, если вы хотите, чтобы MainView
наследовал от TemplateWindow
, вам просто нужно сказать это в вашем XAML.:
<my:TemplateWindow
xmlns:my="MyNamespace"
x:Class="MyNamespace.MainView" ... >
...
</my:TemplateWindow>
Но это создаст вам еще одну проблему: теперь внезапно вы не сможете использовать визуальный дизайнер.
Это может произойти из-за того, что дизайнер не может создать экземплярвашего TemplateWindow
класса для редактирования.Зачем?Ну, потому что TemplateWindow
, конечно, не имеет конструктора по умолчанию!
Так что для такого рода работы вам нужно просто определить два конструктора в TemplateWindow
- один по умолчанию иодин принимает int
.
Удачи.