首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命令和CommandParameter设计

命令和CommandParameter设计
EN

Stack Overflow用户
提问于 2012-09-24 19:09:04
回答 2查看 126关注 0票数 0

假设你有一个控制媒体播放器的视图模型。它必须提供标准的控制功能,比如Star、Stop、Pause和Resume。

我正在考虑两种在视图模型中设计它的方法

第一种方法:每个动作都有自己的命令。- StartCommand - StopCommand - PauseCommand - ResumeCommand

视图中的每个按钮都将绑定到与其相关的命令。

第二种方式:单个命令使用不同的命令参数。PerformActionCommand和一个如下所示的枚举

代码语言:javascript
复制
enum ActionEnum
{
  start, 
  stop,
  pause,
  resume
}

你认为哪种方式更可取?原因是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-24 19:19:42

在这种情况下,使用单独的命令更好。这些命令并不十分相似,因此如果您有一个命令处理程序,则必须在内部使用大型switch语句,并可能调用不同的方法。

另一个原因是,对于不同的命令,当这些命令启用或未启用时,您可以很容易地具有不同的条件-例如,只有当播放器暂停时才启用恢复。

票数 1
EN

Stack Overflow用户

发布于 2012-09-24 19:45:57

除了Jogy所写的内容之外,我还会使用单独的命令。这样,您还可以使用内置的wpf media commands

这有一些潜在的优势:

  • 您无需为每个命令编写实现ICommand的类,因为它已经在WPF
  • 中每个媒体命令实际上都是一个RoutedUICommand,这意味着它具有可用作按钮内容的文本属性。
  • 您可以通过某些命令利用已有的内置输入手势。

<RoutedUICommand>F210

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12563788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档