我的WPF应用程序中几乎没有基本视图,但我不希望以可视方式设计其中一个和其他编程方式。
设计少量表单的最佳方法是什么,并且只能在主窗口中以编程方式进行交换?
编辑:当然,我不想关闭/打开新窗口;)
答案 0 :(得分: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");
}
}
}
您可以看到它的示例here