假设你有一个控制媒体播放器的视图模型。它必须提供标准的控制功能,比如Star、Stop、Pause和Resume。
我正在考虑两种在视图模型中设计它的方法
第一种方法:每个动作都有自己的命令。- StartCommand - StopCommand - PauseCommand - ResumeCommand
视图中的每个按钮都将绑定到与其相关的命令。
第二种方式:单个命令使用不同的命令参数。PerformActionCommand和一个如下所示的枚举
enum ActionEnum
{
start,
stop,
pause,
resume
}你认为哪种方式更可取?原因是什么?
发布于 2012-09-24 19:19:42
在这种情况下,使用单独的命令更好。这些命令并不十分相似,因此如果您有一个命令处理程序,则必须在内部使用大型switch语句,并可能调用不同的方法。
另一个原因是,对于不同的命令,当这些命令启用或未启用时,您可以很容易地具有不同的条件-例如,只有当播放器暂停时才启用恢复。
发布于 2012-09-24 19:45:57
除了Jogy所写的内容之外,我还会使用单独的命令。这样,您还可以使用内置的wpf media commands。
这有一些潜在的优势:
<RoutedUICommand>F210
https://stackoverflow.com/questions/12563788
复制相似问题