【问题标题】:Using MVVM to Solve Combobox Interaction使用 MVVM 解决 Combobox 交互
【发布时间】:2011-11-28 18:33:53
【问题描述】:

我是 WPF 的新手,我还没有使用过 MVVM,但我认为我的情况可能会有所帮助。

在我的程序中,我有几个组合框,它们都具有相同的组合框项,当用户在其中一个组合框中进行选择时,所选组合框项在其他组合框中被禁用。 (即,如果用户在组合框#1 中选择了值为'a' 的组合框项,并在组合框#2 中选择了值为'b' 的组合框项,那么在剩余的组合框中,值为'a' 和'b' 的组合框项都被禁用)

无论如何,我在代码隐藏中以编程方式执行此操作时遇到问题,我希望有人可以描述如何使用 MVVM 解决此问题。

谢谢 MG

【问题讨论】:

  • 在可以合理地回答这个问题之前,我认为如果您发布一些代码,尝试使用 MVVM 概念来执行此操作,将会有所帮助。我想看看您的 ViewModel 类的简化版本,以及视图的 xaml。
  • 另外你的问题标题不是很具描述性。
  • 感谢您的建议 - 我更改了问题的标题。另外,我想知道这个问题在 MVVM 中是否很容易解决,因为我还没有开始使用 MVVM。 (我的示例代码不在 MVVM 中。)

标签: wpf vb.net mvvm combobox


【解决方案1】:

这是best primers on MVVM applied to WPF, with first rate code 之一。

这不是一个快速阅读,即使看似简单的事情需要一些时间来理解,也不要感到沮丧。

为了更直接地回答您的问题,您使用 MVVM 来进行数据绑定工作(更不用说您的逻辑可测试了)。因此,对于 ComboBox,您首先要为其提供数据。可能使用支持数据绑定的 ObservableCollection。您可以将 ComboBox(es) 中的 Selected Item(s) 同步到视图模型中的属性,并根据 Selected Item 中的更改来更改其中的内容。

建议您阅读该文章并完成一些代码,然后使用代码跟进一些更有针对性的问题。

HTH,
浆果

【讨论】:

  • 谢谢贝瑞尔!这正是我正在寻找的。​​span>
猜你喜欢
  • 1970-01-01
  • 2013-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-29
相关资源
最近更新 更多