【发布时间】:2014-04-15 19:29:24
【问题描述】:
我的 WPF 应用程序有问题。我需要通过不同的 ViewModel 进行通信,但我不知道具体如何。我也不想使用框架,我找到了 Mediator 模式,我将它用作帮助类,它工作我从另一个类调用了一个方法,但我不知道是否是与其他 ViewModel 通信的完美方式。现在我的问题真的是我如何从 View1 中填充一个组合框,其中包含从中选择的项目到我的 View2,ofc 我每个都有不同的 ViewModel,我想在它们两个上看到相同的视图。例如:HERE!。我知道我的 ViewModel 只能对他们的 View 下达命令,我认为我也可以通过使用 Mediator 来做到这一点,但我真的不知道这是否是一个非常好的主意,或者有更好的方法以及我该怎么做它。我花了一周时间寻找更好的方法,所以我想要一个最好的解决方案,而不是违反 MVVM 模式。提前致谢。
<ComboBox VerticalAlignment="Center" Grid.Column="1" Grid.Row="0" IsEditable="False" IsSynchronizedWithCurrentItem="false" ItemsSource="{Binding combobox}" SelectedItem="{Binding selectedEmployee}" ItemTemplate="{StaticResource myResources}" />
我的视图模型
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 中显示相同的内容,我到底能做什么?
【问题讨论】:
-
请使用一些标点符号。并请发布相关代码和 XAML。而且您的帖子中没有一个问号(“?”)。请发布相关的具体问题。
-
为什么不想使用框架?