Несколько сменных форм в WPF — возможно?

#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. но смогу ли я визуально спроектировать каждую «страницу»?