如果在视图的InitializeComponent之后分配,则绑定的Usercontrol不会显示

时间:2013-11-18 17:56:02

标签: c# wpf xaml mvvm user-controls

我在MainWindowViewModel中有这个Binded Usercontrol,当我在代码中更改它时,它不会在视图中更新。

MainWindowView.xaml

<Window x:Class="HataTracker.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="648" Width="1152">

<Grid>
    <UserControl Content="{Binding ContentView}"/>
</Grid>

MainWindowView.cs

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = new MainWindowViewModel();
    }
}

MainWindowViewModel.cs

public partial class MainWindowViewModel : BaseViewModel
{
    public UserControl ContentView { set; get; }

    public MainWindowViewModel()
    {
        ContentView = new SearchView();
    }
}

SearchView是一个UserControl

我第一次运行程序时工作正常,我在ContentView显示区域中获取了我的SearchView

问题是:

如果我将内容视图更改为其他内容,比如CreateView,我的SearchView将保留在屏幕上。

如果我在MainWindowModelView构造函数中没有在ContentView中放置一个值,它将保持空白。

问题

  • 如何更换Binded Usercontrol并将更改反映在我的视图中?

0 个答案:

没有答案