我想标题中的问题已经很清楚了。当我打电话时会发生什么
ApplicationCommands.Close.Execute(null,null)
来自我的 viewmodel 类。
我有一个显示用户控件的模型对话框。我有一个命令绑定到用户控件中的按钮,该按钮在视图模型中执行。我想在执行命令后关闭对话框。可以通过使用上面的命令来完成已执行的事件。
但我想知道这是否是正确的方法。这会导致任何不良影响吗?
不幸的是,这行不通。
ApplicationCommands.Close 是一个 RoutedUiEvent,它需要 Commandtarget(任何 IInputelement)。它使用此命令目标来引发路由事件。
然后,您可以通过使用命令绑定来处理此路由事件。
从 ViewModel 中,您可以将 ApplicationCommands.Close 绑定到“关闭按钮”,然后在窗口中处理路由的关闭事件。
但是你不能打电话ApplicationCommands.Close.Execute(null,null)
在您的 ViewModel 中执行另一个命令后,因为您没有 CommandTarget (第二个空)
还有其他类似的线程ViewModel 应该如何关闭表单? https://stackoverflow.com/questions/501886/wpf-mvvm-newbie-how-should-the-viewmodel-close-the-form其中详细介绍了实现这一目标的各种方法。
http://adammills.wordpress.com/2011/02/16/mvvm-uses-for-applicationcommands-close/ http://adammills.wordpress.com/2011/02/16/mvvm-uses-for-applicationcommands-close/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)