2011-12-09 35 views
0

私はいくつかの同様の質問を見つけましたが、完全には適合しません。メインウィンドウが表示された後でダイアログを表示します

私のメインウィンドウが最初に表示され、アプリケーションがアプリケーション構成ファイルを見つけることができない場合は、ダイアログボックスをポップアップしてユーザーから必要な値を取得します。

私がApp.xamlなどで何かすると、明らかにメインウィンドウが開きません。メインウィンドウのOnInitializedに入れても同じことが起こります。私がOnActivatedに入れたら、それはうまくいくようですが、ダイアログを閉じるか、何らかの形でメインウィンドウをクリックすると、ダイアログの別のコピーがポップアップします。私は、ダイアログボックスが既に開いているかどうかを示すメインウィンドウにブールを置くことができましたが、それは最適ではないか、または最良のやり方ではないようです。

提案がありますか?

答えて

1

代わりにLoadedを使用してください。

+0

私は 'OnInitialized'などをオーバーライドしていましたが、' Load'にイベントハンドラを追加するとうまくいきました。主な問題はダイアログの '.Owner'を設定していないことでした。それは一度だけ開かれたことを確認するのに役立ちました... – carlsb3rg

+0

What-'Loaded'は、ウィンドウがフォーカスを取得したときに起動される' Activated'とは異なり、ウィンドウに対して1回だけ発生します。それだけでうまく動作します。 –

+0

しかし、後で手動で開くことができるはずですが、私はあなたにポイントを与えています。私はちょうど最小時間が経過するまで待たなければなりませんでした。 – carlsb3rg

関連する問題