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

问题描述 投票:0回答:1

我有一个控制在<materialDesign:DialogHost CloseOnClickAway="True" />内打开一个系统FileOpenDialog。如果我双击FileOpenDialog打开文件,主机中的后台对话框将关闭。我已经缩小了文档对话框在第二次鼠标按下时关闭,应用程序响应后续的鼠标按下事件。

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

c# wpf mouseevent double-click material-design-in-xaml
1个回答
0
投票

所以我提出了一个解决方案,尽管它感觉有点hackish。 <materialDesign:DialogHost />有一个属性DialogClosing,允许您在触发关闭事件时指定回调。在代码隐藏中,我创建了一个事件处理程序public void MainViewModel_CheckIfDialogShouldClose(object sender, DialogClosingEventArgs e),它调用了一个子类FileOpenDialogWasOpenRecently函数。如果对话框在最后250毫秒内关闭,则此函数返回true / false。如果我们回到true,我们e.Cancel();取消DialogHost的结束比赛。

© www.soinside.com 2019 - 2024. All rights reserved.