2012-11-14 33 views
2

當您處於以下情況時,會發生以下問題: - 在我的應用程序中有一個主窗口 -I創建另一個窗口,該窗口不顯示在任務中欄,並且是一個工具窗口。 -I將第二個窗口顯示爲對話窗口(從主窗口) -I切換到另一個在我的系統中運行的應用程序,當我回到應用程序時顯示主窗口,但它被第二個鎖定窗戶,沒有顯示。沒有在任務欄中顯示的WPF ToolWindow阻止應用程序

這是第二個窗口的代碼:

<Window x:Class="WpfApplication1.DialogWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="DialogWindow" Height="300" Width="300" WindowStartupLocation="CenterScreen" WindowStyle="ToolWindow" ShowInTaskbar="False"> 
    <!--Some content--> 
</Windows> 

這是顯示第二窗口中的代碼:

private void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     var dialogWindow = new DialogWindow(); 
     dialogWindow.ShowDialog(); 
    } 

我怎樣才能解決這個問題,並且仍然呈現出對話不顯示在任務欄中的窗口?

回答

5

我想你應該將DialogWindow.Owner屬性設置爲父窗口。看到這個答案WPF: How do I set the Owner Window of a Dialog shown by a UserControl?

private void Button_Click_1(object sender, RoutedEventArgs e) 
{ 
    var dialogWindow = new DialogWindow(); 
    dialogWindow.Owner = Window.GetWindow(this) 
    dialogWindow.ShowDialog(); 
} 

這將會使DialogWindow模態在其父面前時刻。

+0

謝謝,這完美的作品,非常感謝。 –

0

TopMost=True設置爲對話窗口。

+0

是的,但這顯示它在所有其他窗口,有沒有另一種方式? –

相關問題