【问题标题】:Only one checkbox to be checked in contextmenu items? (mutually exclusive)在上下文菜单项中只检查一个复选框? (互斥)
【发布时间】:2013-08-14 13:59:38
【问题描述】:

当我将 IsCheckable 设置为 true 时,可以选中多个复选框。但我想在上下文菜单中一次只检查一个复选框。我提到了这个链接 -> Mutually exclusive checkable menu items? 大多数解决方案都是非 MVVM 的。我正在寻找 MVVM , wpf 解决方案

【问题讨论】:

  • 我不明白为什么链接中的答案不是“MVVM”。
  • 我发现 MVVM 解决方案对于简单的场景来说过于复杂。感谢您的回复,我可以通过将标头作为命令参数传递来以简单的方式完成此操作

标签: wpf mvvm checkbox


【解决方案1】:

您提供的链接是一个解决方案。

滥用依赖/附加属性停止追求 WPF 中的一切都可以在 MVVM 中以干净的方式完成。这是大多数开发人员在 WPF 中编码时的典型思维方式。

注意:如果您将在另一个视图中遇到此问题并且您已使用 MVVM 实现它,那么您的 ViewModel 最终会出现重复代码。

如果您想将逻辑重用于也有确切问题的不同视图,您可以使用依赖/附加属性!

另外一个说明:这些复选框是否需要任何“业务逻辑”视图模型,以便只选中一个复选框?如果没有,那么不,你做错了。

“我必须遵循 MVVM 模式,否则我做的不对”

【讨论】:

  • 抱歉回复晚了。我同意你的看法。有时我们不能坚持使用 MVVM 解决方案。但是对于我面临的当前问题,我需要一个 MVVM 解决方案。通过将标头作为命令参数传递并在视图模型中处理 IsChecked 值,我能够在 MVVM 中完成此操作。
猜你喜欢
  • 2014-06-19
  • 2013-04-07
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2021-04-04
相关资源
最近更新 更多