首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击按钮上的取消命令

单击按钮上的取消命令
EN

Stack Overflow用户
提问于 2014-01-14 12:35:46
回答 2查看 1.2K关注 0票数 0

我目前有一个windows 8应用程序,它有一个绑定到某些视图模型的用户控件。在视图模型I中,a有一个命令属性,该属性绑定到视图上的一个按钮。

我想在视图中弹出一个消息框,询问“您确定要做X吗?”如果是,则需要触发绑定到按钮的命令,否则不需要触发命令。

显然,我不想从视图模型中触发MessageBox,因为这是视图逻辑。因此,如何在视图中显示MessageBox,然后不触发绑定到它的命令。

编辑:让我说清楚。该命令位于视图模型中,并在xaml中绑定。MessageBox显示在后面的视图代码中(在按钮的单击事件中)。我想把它保存成这样。我的问题是。一旦按下botton并MessageBox返回Cancel,如何不触发该命令。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-14 12:56:48

好的,我找到了一个解决办法。

我创建了一个新的UserControl: ConfirmationButton,其中包含一个依赖ICommand属性,用于确认是否通过。在控件中,如果MessagBox返回Yes,则手动启动命令。然后,我在需要这种功能的地方使用这个新的UserControl。

票数 0
EN

Stack Overflow用户

发布于 2014-01-14 13:10:01

您可以在按钮的单击事件上这样做。您可以在单击事件处理程序中弹出消息框。如果用户希望取消操作,而不是简单地设置e.handle = true。

如果不想使用代码隐藏,可以创建自己的自定义按钮,其中可以覆盖按钮的OnClick()方法。在方法中显示消息框,如果用户想要取消事件,只需不要调用base.OnClick();

您可以参考以下链接,其中作者解释了如何实现可取消的命令:

http://www.codeproject.com/Articles/274982/Commands-in-MVVM#hdiw1

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

https://stackoverflow.com/questions/21113730

复制
相关文章

相似问题

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