2011-12-27 5 views
4

私はいくつかのスタイルの小さなウィンドウを作成しました。今私はそれを正確にMessageBoxのように使用したいと思います。どうすればそれを達成できますか?WPF windowをメッセージボックスとして使用するには?

編集:私はWPFを初めて使っています。私はこのようなメインウィンドウでそれを呼び出すことを試みた。

Window1 messageBox = new Window1(); 
messageBox.Show(); 
messageBox.Activate(); 

問題は、新しく生成されたウィンドウが、メインウィンドウのすぐ後ろに消えて、その中のアクションボタンをクリックさせないことです。

答えて

7

の代わりにShowDialogを使用して、メッセージボックスウィンドウをポップアップします。このように、ユーザーが最初にメインウィンドウに戻り

MessageWindow message= new MessageWindow(); 
message.ShowDialog(); 

を移動する前に、ポップアップやメッセージボックスウィンドウを閉じるには、HVEます編集

あなたは明らか戻って右のメインウィンドウに結果を持っていたいですか?あなたはいくつかの方法でそれを行うことができます。パラメータ

private MainWindow window; 
public MessageWindow(MainWindow mainWindow) 
     { 
      InitializeComponent(); 
      window = mainWindow; 
     } 
    //now handle the click event of yes and no button 
    private void YesButton_Click(object sender, RoutedEventArgs e) 
     { 
      //close this window 
      this.Close(); 
      //pass true in case of yes 
      window.GetResult(true); 
     } 

     private void NoButton_Click_1(object sender, RoutedEventArgs e) 
     { 
      //close this window 
      this.Close(); 
      //pass false in case of no 
      window.GetResult(false); 
     } 
//in that case you will show the popup window like this 
MessageWindow message= new MessageWindow(this); 
message.ShowDialog(); 
+0

感謝をメインウィンドウを取るMessageWindowなどのコンストラクタを作成します。メインウィンドウ

public GetResult(bool result) { //your logic } 

のパブリックメソッドを公開する可能性が一つの最も簡単な方法は私をたくさん助けた...私はそうしていないとにはボタンダイアログボックスでどのように値を取得してそのロジックを適用できますか? = 1 IFメッセージボックスbool値ELSE THIS この ENDをしますか – user995387

+0

はところで、私は、ユーザーコントロールからそれを呼び出したい更新答え –

+0

を参照しています。あなたは私にどのように表示できますか? – user995387

関連する問題