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

时间:2019-04-04 17:24:35

标签: c# wpf mouseevent double-click material-design-in-xaml

我在<materialDesign:DialogHost CloseOnClickAway="True" />中有一个控件可以打开系统FileOpenDialog。如果双击FileOpenDialog打开文件,则主机中的背景对话框关闭。我将其范围缩小到第二个 mouse-down 文件对话框关闭,并且应用程序响应随后的 mouse-up 事件。

关于如何防止这种情况的任何建议?

1 个答案:

答案 0 :(得分:0)

所以我想出了一个解决方案,尽管感觉有点骇人听闻。 <materialDesign:DialogHost />具有属性DialogClosing,该属性使您可以在触发关闭事件时指定回调。在后面的代码中,我创建了一个事件处理程序public void MainViewModel_CheckIfDialogShouldClose(object sender, DialogClosingEventArgs e),该事件处理程序调用了子类FileOpenDialog的{​​{1}}函数。如果对话框在最近的250毫秒内关闭,则此函数返回WasOpenRecently / true。如果我们退回false,我们将true取消e.Cancel();的闭幕活动。