WPF 在mainWindow 显示自己的view
时间: 2024-03-10 08:45:20 浏览: 16
可以通过在 MainWindow 的 XAML 中添加一个 ContentControl 控件,然后将其 Content 属性绑定到 MainWindowViewModel 中的一个属性,该属性表示要显示的 View。这个属性可以是一个接口,而实现该接口的类就是要显示的 View。然后,在 MainWindowViewModel 中实例化这个 View,并将其赋值给要绑定的属性。这样,在运行时,View 就会显示在 MainWindow 中。具体实现可以参考以下代码示例:
MainWindow.xaml:
```xml
<Window>
<ContentControl Content="{Binding CurrentView}" />
</Window>
```
MainWindowViewModel.cs:
```csharp
public interface IView { }
public class MyView : UserControl, IView { }
public class MainWindowViewModel : INotifyPropertyChanged
{
private IView _currentView;
public IView CurrentView
{
get { return _currentView; }
set
{
if (_currentView != value)
{
_currentView = value;
OnPropertyChanged(nameof(CurrentView));
}
}
}
public MainWindowViewModel()
{
CurrentView = new MyView();
}
// INotifyPropertyChanged implementation...
}
```