【问题标题】:software screen disappears when i click to open a dialog box in wpf当我单击以在 wpf 中打开对话框时,软件屏幕消失
【发布时间】:2011-10-17 07:13:14
【问题描述】:

我有一个 WPF 应用程序。当我从我的软件主屏幕或 shell UI 中单击按钮以打开一个对话框时,软件屏幕会消失,它会显示我在使用软件屏幕(如代码或资源管理器)之前打开的上一个进程的屏幕。然后要转到屏幕,我必须从任务栏中单击软件。 这是显示此对话框的代码。

public void ShowView() {

        this.Owner = (Window)Shell;
        this.ShowDialog();            

    }

【问题讨论】:

  • 如果您能提供更多细节,会更容易为您提供帮助。单击按钮时会运行什么代码?数据绑定看起来如何?
  • 一些代码会很有帮助....

标签: c# wpf


【解决方案1】:

您的对话框必须设置有所有者窗口,并且应该在所有者的 UI 线程上分派打开。

    Application.Current.Dispatcher.BeginInvoke(
         new Action(
             () =>
                 { 
                   DialogWindow.Owner = Application.Current.MainWindow;
                   DialogWindow.ShowDialog();
                 } ));

这有帮助吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 2021-10-29
    • 2017-11-21
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    相关资源
    最近更新 更多