2011-08-26 132 views
12

私は閉じないWPFウィンドウを持っています。代わりに私はHide()とShow()を行います。今、MainWindowでRecord上のGridをダブルクリックすると、WindowをトリガーしてShow()ウィンドウを表示すると、WindowはMainWindowの後ろに常に表示されます。 私は休閑を試してみましたが、成功しません:WPF - 前面にウィンドウを表示

view.Show(); 
view.Activate(); 
view.Topmost = true; 
view.Topmost = false; 
view.Focus();  

は、私が前に、ウィンドウのABSOLUTをもたらすために使用できる別の方法はありますか?オーナーとしてMainWindowを設定することはできません。

+1

最大化と、それはあなたがしようとしている戻ってくるようになりますウィンドウが非表示になったら、私は次のコードでフォアグラウンドでそれを置きます「MainWindowを所有者として設定することはできません」ということを詳述する必要があります。 – vcsjones

+0

Windowsとの間には関係がないので、MainWindowをオーナーとして設定しません。そして、私はこの窓の多くを開くことができるはずです。 – BennoDual

+2

可能な複製[WPFのウィンドウを前面に持っていく](http://stackoverflow.com/questions/257587/bring-a-window-to-the-front-in-wpf) – CodeNaked

答えて

27

Window.Activate(あなたがオーナーに設定したくない場合は)行く方法です。これがうまくいかない場合(あなたが記述したように)、別の場所にエラーがあります。 MainWindowのTopMosttrueに設定されていますか?または、メインウィンドウやコントロールをフォーカスした遅延呼び出しがありますか?

他の回答で提案されているようにShowDialog()を呼び出すことは、モーダルウィンドウが閉じられるまでアプリ全体がブロックされないようにしたい場合を除き、オプションではありません。

Win32-ApiにはWPFでもウィンドウ管理に影響するerrorがありますが、問題の説明はこのようには聞こえません。

さらにここでハック

が、私はあなたがそれを必要としないことを願っています:私のために働いた

Dispatcher.BeginInvoke(new Action(delegate {  
     view.Activate(); 
     }), System.Windows.Threading.DispatcherPriority.ContextIdle, null); 
+0

ありがとう、この解決された解決策は、私の問題を説明しただけです。 – Sevenate

4

Showの代わりにShowDialogを指定すると、ウィンドウが常に上に表示されます。

+0

+1おそらく答え! – CharithJ

+3

OPが追加のウィンドウが開いている限り他のウィンドウをブロックしない限り、これは答えではないと思います。私にとっては、このような質問は聞こえません。 – HCL

+0

彼はそれをモデルにするのではなく、一番上に持っていきたい。 – Oli

2
myWindow.WindowState = WindowState.Normal; 

1

私は同じ問題を抱えていました。私は、OwnerがMouseDoubleClickイベントからNULLに設定されたウィンドウを表示していました。私のイベントコードが完了する前に

e.Handled = true

:私は(最終的に)私が設定するために必要なことに気づきました。次のMicrosoftのドキュメントを扱うよう、それは「重要かつ比較的完全な方法」で応答したときにイベントをマークしたいことをまとめたものです。

http://msdn.microsoft.com/en-us/library/ms747183.aspx

これは主観的ですが、私の場合には、それは窓を防止しました。私はちょうどユーザーから見えるように開いた。

1

私は同様の問題を抱え、他の回答の組み合わせを使用して解決策を見つけました。

view.WindowState = WindowState.Normal; 
    view.Activate(); 

注:ウィンドウが隠れて前に最大化された場合は、そのコードが

+0

これは私にとってはうまくいった。大変ありがとうございました! – ravuya

関連する問題