Если вы хотите наследовать от окна, вам нужно создать реализацию окна только в коде, и затем вы можете наследовать от этого - обратите внимание, что ваша декларация Window в XAML должна измениться, чтобы указывать на этот код например,
<src:BaseWindow xmlns:src="clr-namespace:BaseWindowNamespace" ...>
Если вы определите базовое окно с помощью XAML, вы получите следующие ошибки:
" 'WpfApplication1.Window1.InitializeComponent ()'
скрывает унаследованный член
BaseWindowNamespace.BaseWindow.InitializeComponent ()».
Используйте новое ключевое слово, если скрытие было
предназначенный "
"BaseWindowNamespace.BaseWindow не может
быть корнем файла XAML, потому что он
был определен с использованием XAML "
Теперь, на этом этапе, я должен указать, что это противоречит тому, как вы должны обрабатывать композицию своего окна. «Стандартный» способ сделать это - использовать шаблоны контента для отображения пользовательских элементов управления, которые можно поменять местами и стилизовать, чтобы получить другой внешний вид и функциональность. Таким образом, функция окна становится функцией жгута проводов, и вы можете добиться четкого разделения содержимого, которое может быть легко реализовано с помощью MVVM.