Я только что создал приложение Windows Form для наследования элементов управления из базовой формы и отлично работает.Создание общей структуры (темы) в окне WPF
В WPF XAML можно ли наследовать элементы управления от базовой формы до другой, как указано выше?
Когда я попытался в визуальной студии, у меня появилась ошибка: «parentchild.MainWindow» не может быть корнем файла XAML, поскольку он был определен с помощью XAML ».
Мои Basewindow CS код:
namespace parentchild
{
public partial class BaseWindow : Window
{
public BaseWindow()
{
InitializeComponent();
}
}
}
Мой Basewindow XAML код:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxr="http://schemas.devexpress.com/winfx/2008/xaml/ribbon" x:Class="parentchild.BaseWindow"
Title="BaseWindow" Height="350" Width="525">
<Grid>
<StatusBar HorizontalAlignment="Left" Height="35" Margin="0,285,0,0" VerticalAlignment="Top" Width="517">
<Label Content="Label"/>
<Label Content="Label"/>
</StatusBar>
</Grid>
</Window>
Мой childwindow CS код:
namespace parentchild
{
public partial class childwindow : BaseWindow
{
public childwindow()
{
InitializeComponent();
}
}
}
Мой childwindow XAML код:
<mn:BaseWindow x:Class="parentchild.childwindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mn="clr-namespace:parentchild"
Title="childwindow" Height="300" Width="300">
<Grid>
</Grid>
</mn:BaseWindow>
Я нашел другое решение, создав пользовательский элемент управления и применив его ко всем окнам. Правильно ли это?
У любого есть решение для создания общей темы/структуры для всех окон Xaml.
Просьба предоставить мне решение для решения этой проблемы.
Это может помочь - http://stackoverflow.com/a/7508090/442444 – CarbineCoder
Возможный дубликат [MyUserControl не может быть корнем файла XAML, поскольку он был определен с помощью XAML] (http://stackoverflow.com/ вопросы/10873008/myusercontrol-не может-быть-в-корень-из-а-XAML-файл, потому что-это был определенный, используя-XAM) – Sinatr