2016-04-27 42 views
0

メインウィンドウがあり、その中にボタンがあります。 ダイアログボックスウィンドウを開いて名前をテキストボックスに保存し、別のウィンドウを開く必要があります。ウィンドウからウィンドウを開く方法

私は何をすべき

...それは、メインウィンドウ - で新しいウィンドウが開きますが、私は所有者がメインウィンドウに設定allthoght、ダイアログウィンドウで、ウィンドウをそれを開いているしたいですか?

これはダイアログウィンドウのボタンのコードです:

Screen myScreen = new Screen (name, ViewModel, mainWindow); 
myScreen.Owner = mainWindow; 
myScreen.Show(); 
this.Close(); 
+0

このヘルプを願って、あなたはダイアログからダイアログを開くようにしたいですか? – Pikoh

+0

myScreen.Owner = mainWindow;を削除した後に試してください。コードの問題がないと思います。 – NishantMittal

+0

メインウィンドウのウィンドウでスクリーンウィンドウを開き、ダイアログからこれを行うには、 mainMenu @Pikoh – ABC

答えて

0

これは、あなたがそれを行うべきかです:最初のダイアログで

、あなたはパブリック変数を持っている必要があります、のようなもの:

public string TextBoxContent; 

そしてOKボタンイベントでは、あなたのような何かやる:

this.TextBoxContent = TextBox.Text; 
this.DialogResult = true; 
this.Close(); 

string returnedString; 
DialogWindow w = new DialogWindow(); 
w.ShowDialog(); 
if (w.DialogResult.HasValue && w.DialogResult.Value) 
    returnedString=w.TextBoxContent; 

その後、あなたが返される文字列と2番目のダイアログを表示されます:あなたがこれを行う必要があり、あなたのメインウィンドウで

。あなたは論理を見て欲しいです。

0

[OK]を使用すると、3つのウィンドウ1を持っているが入力された名前と、その別のウィンドウ名ScreenからtextBox入力パスのためのボタンのtextBoxを持っている別のウィンドウ名Dialogを開くためのボタンがありMainWindowです。だから私は渡されたテキストが表示されますtextBoxNameという名前textBoxScreenウィンドウを取る必要があり、ここで

メインウィンドウのボタンショーのダイアログテキストを取り、以下のようScreenウィンドウのためのこのよう

private void buttonMainShowDialog_Click(object sender, RoutedEventArgs e) 
     { 
      Dialog dl = new Dialog(); 
      dl.ShowDialog(); 
     } 

コンストラクタ私の解決策でありますパラメータとしてそれによって、私たちはDialogウィンドウtextBoxテキスト

public Screen(string text) 
     { 

      InitializeComponent(); 
      this.textBoxName.Text = text; 
     } 

を渡すと、あなたは、ダイアログのWiから、この画面のウィンドウを呼び出す必要があります

private void buttonDialogShowScreen_Click(object sender, RoutedEventArgs e) 
     { 
      Screen myScreen = new Screen(this.textBox.Text); 
      myScreen.Show(); 
      this.Close(); 
     } 

その作品罰金以下のようにndow、あなたは

+0

フォームを非モーダルとして表示しています。 OPは、ウィンドウをダイアログとして表示することを望んでいます。 – Pikoh

+0

ダイアログとして表示してもそれが機能する場合 – Mostafiz

+0

いいえ、動作しません。 'Screen'はダイアログとしても表示されます。'myScreen、ShowDialog()'を呼び出すと、最初のダイアログ – Pikoh