#wpf
#wpf
Вопрос:
У меня есть несколько базовых представлений в моем приложении WPF, но я не хочу создавать визуальный дизайн одного из них, а другого программно.
Каков наилучший подход к разработке нескольких форм и программному обмену ими только в главном окне?
РЕДАКТИРОВАТЬ: конечно, я не хочу закрывать / открывать новые окна 😉
Ответ №1:
Обычно у меня есть ShellViewModel
, содержащий CurrentViewModel
, и отображать CurrentViewModel как ContentControl
ShellView. Затем, чтобы переключать страницы, все, что вам нужно сделать, это изменить CurrentViewModel
свойство в ShellViewModel
ShellView:
<ContentControl Content="{Binding CurrentViewModel}" />
ShellViewModel:
private ViewModelBase _currentViewModel;
public ViewModelBase CurrentViewModel
{
get { return _currentViewModel; }
set
{
if (_currentViewModel != value)
{
_currentViewModel = value;
RaisePropertyChanged("CurrentViewModel");
}
}
}
Вы можете увидеть пример этого здесь
Комментарии:
1. но смогу ли я визуально спроектировать каждую «страницу»?