【问题标题】:materialDesign:DialogHost dialog closes when trying to open file from FileOpenDialogmaterialDesign:DialogHost 对话框在尝试从 FileOpenDialog 打开文件时关闭
【发布时间】:2019-08-26 13:16:19
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 2022-01-23
      • 1970-01-01
      • 2011-12-31
      相关资源
      最近更新 更多