何时在WPF中通过命令使用事件?
|
嗨,我最近研究了WPF,并开始学习事件和命令。我通常使用“单击按钮时的命令”,这会导致一种方法在“视图模型”中运行。
是否可以通过使用commnds使Button对其他事件做出响应,例如MouseOver事件?还是在这种情况下使用WPF事件?
如果要使用WPF事件,那么事件处理程序实现是否应该只调用视图模型中的方法来保持关注?
没有找到相关结果
已邀请:
2 个回复
播匣扦阔食
更新: 对于此问题,还有其他两个“合理的”解决方案: 一个使用现在考虑的在此处找到的旧版\“ AttachedCommandBehavior \”扩展名。 另一个有点恼人,但可行。 通过en捕获命令 事件纯粹在视图中。 查询控件的数据源步骤 抓取字符串绑定目标 表示您的命令的标识符 (也许在 视图) 在上调用您的命令 通过反射和 传递命令参数。 这看起来很糟糕,但我可以肯定地说,实际上比使用传统命令要快一些 绑定。为了确保我需要查看IL,在这种情况下我认为这并不重要。 /更新 但是我想指出,这并不总是理想的情况。我发现很多时候,我使用EventToCommand来解决设计问题。请考虑以下几点: 使用后面的事件和代码来处理与用户界面有关的行为。 考虑在适当的情况下创建具有命令绑定的自定义控件,特别是如果您发现自己使用命令封装事件驱动的行为来设置绑定数据,然后将其反映在视图中。 (即根据与控件或类似控件的接近程度设置透明度值) EventToCommand应该最有可能仅用于处理“类似于命令的”事件(双击等),而不用于处理反应性事件(鼠标悬停)。但是,没有什么可以防止这种情况。视需要实施。 最重要的也许是,您记得自己是开发人员。准则本身不能解决问题,但是考虑准则可能会使问题的解决方案变得显而易见。
漂汀拦