WPF / MVVM模式/ Mediator / populate组合框

时间:2014-04-15 19:29:25

标签: c# wpf mvvm mediator

我的WPF应用程序出了问题。我需要通过不同的ViewModel进行通信,我不确切知道如何。我也不想使用一个框架,我已经找到了Mediator模式,我已经将它用作帮助类,它起作用我称其他类的方法,但我不知道是否是与其他ViewModel通信的完美方式。现在我的问题是我如何从View1填充一个组合框,从中选择项目到我的View2,ofc我每个都有不同的ViewModel,我想在两个上看到相同的。例如:HERE!。我知道我的ViewModel必须只对他们的视图发出命令,我认为我也可以使用Mediator这样做,但我真的不知道这是一个非常好的主意还是有更好的方法,我究竟该如何做它。我已经失去了一周的时间来搜索更好的事情,所以我想要一个最好的解决方案,而不是针对MVVM模式。提前谢谢。

<ComboBox VerticalAlignment="Center" Grid.Column="1"  Grid.Row="0" IsEditable="False" IsSynchronizedWithCurrentItem="false" ItemsSource="{Binding combobox}" SelectedItem="{Binding selectedEmployee}" ItemTemplate="{StaticResource myResources}" />

MyViewModel

public ObservableCollection<ViewModelEmp> combobox
{ 
    get { return this._combobox; }
    set
    {
        this._combobox = value;
        OnPropertyChanged("combobox");
    }
}

我在我的ViewModelEmp类中使用ObserveableCollection,然后用我的数据库中的方法填充我的组合框,然后我在构造函数中调用它们:

public ViewModelEmp()
{
    this._combobox = new ObservableCollection<ViewModelEmp>();
    this.databaseconnect();
}

就像我在我的组合框中查看我的数据库中的数据一样,知道我是否想在其他视图和ViewModel中显示相同的内容我能做什么?

1 个答案:

答案 0 :(得分:0)