C# 在viewmodel中使用X按钮关闭WPF对话框
我目前在WPF中打开了一个对话框,如果您点击cancel按钮,该对话框将在显示警告消息后关闭,但是如果用户点击上角的X按钮,它将关闭,而不显示消息。我可以在代码中重写OnClosing事件,当我点击X按钮时,该事件会触发,但如果可能的话,我更愿意通过ViewModel来实现C# 在viewmodel中使用X按钮关闭WPF对话框,c#,wpf,mvvm,C#,Wpf,Mvvm,我目前在WPF中打开了一个对话框,如果您点击cancel按钮,该对话框将在显示警告消息后关闭,但是如果用户点击上角的X按钮,它将关闭,而不显示消息。我可以在代码中重写OnClosing事件,当我点击X按钮时,该事件会触发,但如果可能的话,我更愿意通过ViewModel来实现 <telerik:RadButton Content="Cancel" Command="{Binding CloseCommand}" IsCancel="True" /> 那么,有人知道如何将事件附加到vi
<telerik:RadButton Content="Cancel" Command="{Binding CloseCommand}" IsCancel="True" />
那么,有人知道如何将事件附加到viewmodel中的X按钮单击吗?如果您实际查看正在使用的代码,您应该看到它只设置DialogResult属性,而不处理Window.Close方法,您需要使用该方法来关闭窗口。只要编写自己的附加属性来调用Window.Close方法,如果您确实需要从视图模型中关闭它。然而,在我看来,关闭窗口实际上与MVVM没有任何关系,因此视图模型不应该真正了解Windows。为此,我稍微重新编写了这个问题,因为你是正确的,dialogResult对它没有任何影响。抱歉,如果不清楚,WPFI仍然有点新,它可以覆盖代码中的OnClosing事件,当我点击X按钮时会触发该事件,但如果可能的话,我宁愿通过ViewModel来执行该操作。。。为什么?也许您不太了解MVVM?事实上,最好在这样的情况下使用代码隐藏,以操纵视图模型无论如何都不应该知道的UI元素。你只需要定义一个来处理结束事件并显示你的消息。这很公平-我只是不知道为什么点击Cancel和点击X应该在不同的地方包含不同的代码,仅此而已。我只是希望找到一个解决方案,当您不确定某个.NET控件时,可以将它们放在同一个位置。您应该转到MSDN,看看它们能告诉您什么:。