2012-05-15 24 views
0

我在我的App.xaml.cs中有以下邏輯。首先,在初始化完成時顯示啓動畫面。在某個時候,我已經足夠初始化以顯示我的主應用程序窗口。但是,我希望啓動屏幕繼續顯示,直到緩存所有需要的數據。我遇到的問題是,當我顯示主窗口時,它始終顯示在啓動畫面的頂部。我已經嘗試在顯示之前在主窗口上將ShowActivated屬性設置爲false,但它仍然顯示在啓動畫面上。有任何想法嗎?如何打開窗口,但在我的啓動畫面下方顯示?

protected override void OnStartup(StartupEventArgs e) 
{ 
    base.OnStartup(e); 

    _splashWindow = new SplashWindow(); 

    _splashWindow.Show(); 

    ... 

    _mainWindow = new MainWindow(); 
    _mainWindow.DataContext = new MainViewModel(); 
    _mainWindow.ShowActivated = false; 
    _window.Show(); 
} 

private void OnCacheLoadComplete(object sender, EventArgs e) 
{ 
    _splashWindow.Close(); 
} 

SOLUTION:

_mainWindow = new MainWindow(); 
    _mainWindow.DataContext = new MainViewModel(); 
    _window.Show(); 
    _splashWindow.TopMost = true; 
    _splashWindow.Owner = _window; 

回答

1

您是否嘗試過

_splashWindow.Owner = _window; 

調用_window.Show()後?

+0

當我這樣做的時候,主窗口仍然會覆蓋在飛濺窗口上。雖然,只有一個任務欄項目(這也是我想要的)。如果我在顯示主窗口後單擊任務欄項目,啓動畫面會回到頂部。但是,我希望它在顯示時始終處於頂部。 – bsh152s

+0

沒關係,這與@Yatrix的TopMost提示一起工作。 – bsh152s

相關問題