Код: Выделить всё
Код: Выделить всё
MenuContentControl.Content = new MenuControl(this);
HeaderContentControl.Content = new HeaderControl("MY MODEL CONFIGURATION", this);
MainContentControl.Content = new HomeControl(this);
Причина ? Внутри каждого UserControl может быть * (как в случае с MenuControl*), который должен открывать новые экраны внутри MainContentControl.
И как это работает? Все просто, если предположить, что в моем MenuControl у меня есть кнопка "Настройки", при нажатии на которую выполняется команда (
Код: Выделить всё
ICommandНапример:
Код: Выделить всё
//The Method that will be called by my ICommand Class:
public void OpenControl(T control) where T : UserControl
{
//control can be NotesControl, HomeControl, SettingsControl, depending on the button that was clicked...
mainScreenWindow.changeMainContentControl(control);
}
Код: Выделить всё
public void changeMainContentControl(T control) where T : UserControl
{
MainContentControl.Content = control;
changeHeaderContentControl(control);
}
Код: Выделить всё
HeaderContentControl.Content = new HeaderControl(ReturnHeaderConfiguration.ReturnConfiguration(control.GetType().Name), this);
Однако, поскольку я Я новичок в WPF, мне хотелось бы знать, является ли используемая архитектура лучшей. А если нет, то как я могу его улучшить?
Кроме того, я считаю, что при вызове метода ChangeMainContentControl() старые элементы управления UserControls удаляются из памяти, верно?
Подробнее здесь: https://stackoverflow.com/questions/792 ... -wpf-and-c
Мобильная версия