我想我会在这里发表的希望,也许有人带。专门知识将能够提供的意见,就是否以下是一个很好的想法:

我使用的是萨理发师的肚带。框架,其中包括马龙Grech的SimpleCommand类。

有一件事这类没有一些其他替代物有的是文本的财产,这可以通常用于结合面向'Title'的命令操作。因此,我已经写了一个扩展到这一类的公开文本的财产。

现在,我们遇到的是一个利用的情况下,我使用的一个命令,以切换连接设备。有一大堆不同的方法我可以实现这个(没有总是它的软件!).一个办法就是获得多个命令对象从我的视图模型-一个用于'断开'和一个为'连接;有的视图模型获得的财产,这表明连接状态(断电)和有视有条件地结合到无论是连接命令或中断的命令。我的反应,这一选项,但是...呸!

什么我最初开始寻找,而不是不是只提供文字性但也具有命令对象实施的举所以,该案文的财产可以改变的动态的模型,以"连接"或'断开'根据系统的状态。这样做,我可以避免有多个命令只是让一个单一的'ToggleConnection'的命令对象。

开始走上这条道路虽然它发生,我认为可能还有其他变化,这种模式由此UI需要改变根据命令状态。例如,在外的更改命令的文本根据连接的状态,你可能有地图标需要改变根据连接的状态。因此,我开始写一个'带状态'类实现举,并公开两个属性'的文字"和"状态'。我做了类通用所述类型的国家可以用户定义的(通常我不喜欢使用'象'在哪里可以避免的).

这个问题我们是...你认为这是一个很好的或坏的想法?它可以散从原来的意图设计的命令;从什么我已经看到了它可能在一般情况下,命令对象的意图是无国籍者,因为他们是"动词"的系统。用路由的命令,如果我理解正确的事情只有目标的命令通常会预计将有的状态。特别是由于同样的命令可能会被发送到不同的处理程序根据其命令绑定宣布。

所以,我想,至少有路由命令,国家不会有意义。

然而,我不处理路由的命令-我有具体处理。命令。在这种情况下,也基本上是没有条件路由的命令-的意见。结合直接以特定的视图模型的命令对象和它的执行和执处理程序。

在这种情况下,是否有意义?

我附上一份代码问题,在这种情况下的使用/利益。

谢谢, Phil

有帮助吗?

解决方案

它真的给你什么你认为会是容易的工作。

我个人不把。文本属于我的命令只是因为我没有得到任何重复使用这些命令。这是不同的RoutedUICommands提供的框架(或类似的定义静态的命令),因为它们重复使用无处不在,如果翻译的"退出"分别改变这一命令,它将反映在整个应用程序。这不是你的实例-一切都会之一。

在你的情况这一文本的你的按钮文本是真正脱离你的命令(即使一个影响到其他),因此它可能会被更容易和一个小小的代码分离它们,但差别不是很多和它最终将是一个品味的问题比任何东西。

我肯定你在2命令的事情-blech.最按钮代表你写的将作出反应的国家以某种方式(业务交谈是下降,这需要将数据填充这样的话,如果用户所选择的这个,等等),所以我真的不认为这是错误的,已经委托适应的状态信息的模型.

无论如何,这是一位罗嗦...取走是"做什么都感觉不舒适".

其他提示

就像上一张海报说,"什么感觉舒适。"

在我的情况下,我通常使用的东西喜欢的 DelegateCommand.如果我需要结合到一些数据,我结合到虚拟机。在执行该命令,其内执行我的虚拟机(通过委托提供的DelegateCommand在init).然后在执行委托可能会/可能不运行一些可重复使用的代码,以满足该命令。

这听起来像你想使用的命令,因为它自己的虚拟机。我从来没有想过做这个之前我自己,但是如果它觉得对你很好,做到这一点!:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top