C# materialDesign:DialogHost对话框在尝试从FileOpenDialog打开文件时关闭

C# materialDesign:DialogHost对话框在尝试从FileOpenDialog打开文件时关闭,c#,wpf,mouseevent,double-click,material-design-in-xaml,C#,Wpf,Mouseevent,Double Click,Material Design In Xaml,我在中有一个控件,它打开一个系统文件打开对话框。如果双击FileOpenDialog打开文件,主机中的后台对话框将关闭。我已经缩小了范围,文件对话框在第二次鼠标按下时关闭,应用程序响应随后的鼠标上升事件 关于如何防止这种情况,有什么建议吗?所以我想出了一个解决方案,尽管感觉有点不对劲。有一个属性对话框closing,允许您在触发关闭事件时指定回调。在代码隐藏中,我创建了一个事件处理程序public void MainViewModel\u checkifdialogshouldldclose(对

我在
中有一个控件,它打开一个系统
文件打开对话框
。如果双击
FileOpenDialog
打开文件,主机中的后台对话框将关闭。我已经缩小了范围,文件对话框在第二次鼠标按下时关闭,应用程序响应随后的鼠标上升事件


关于如何防止这种情况,有什么建议吗?

所以我想出了一个解决方案,尽管感觉有点不对劲。
有一个属性
对话框closing
,允许您在触发关闭事件时指定回调。在代码隐藏中,我创建了一个事件处理程序
public void MainViewModel\u checkifdialogshouldldclose(对象发送方,DialogClosingEventArgs e)
,它调用子类
FileOpenDialog
最近打开的
函数。如果对话框在最近250毫秒内关闭,此函数将返回
true
/
false
。如果返回
true
,则返回
e.Cancel()
取消对话框主机的关闭事件