【问题标题】:WPF / MVVM pattern / Mediator / populate comboboxWPF / MVVM 模式 / 调解器 / 填充组合框
【发布时间】: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。而且您的帖子中没有一个问号(“?”)。请发布相关的具体问题。
  • 为什么不想使用框架?

标签: c# wpf mvvm mediator


【解决方案1】:

【讨论】:

  • 你能帮我找一个 Yoeri 的例子吗?
  • 有人吗?我需要真正的帮助,我无法找到解决我的调解员问题的方法。有人可以解释一下吗?提前致谢。
  • 提供的链接应该足够了。 INotifyPropertyChanged 只是一个简单的接口。有关信使的示例,请参阅链接答案中的示例。我将快速浏览一下 INotifyPropertyChanged 的​​示例,如果找到,我会发布一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
  • 2014-03-30
相关资源
最近更新 更多