WPFフォームを用いてウィンドウ間の値の受け渡しを試みてます。
親ウィンドウから子ウィンドウを出し、子ウィンドウで親ウィンドウのアクセサに値を代入し、使いまわししようと考えてますが、ShowDialogメソッドを用いて実行すると親ウィンドウに制御が戻る際に代入した値がNullになってしまいます。
上記の場合の対策等ありましたら教えていただけると嬉しいです。
また、子ウィンドウから親ウィンドウに作成したメソッドを呼び出し、メソッド内部にあるテキストボックスに文字列を代入しようとしたら反映されませんでした。
子ウィンドウから親ウィンドウのメソッドの呼び出しでは出来ないのでしょうか・・・?
以下コードになります。
//親ウィンドウ
class test
{
string settext;
public string setText
{
set{ this.settext = value;}
get{ return this.settext;}
}
public test()
{
InitializeComponent();
}
private void Button_Click(object sender,RoutedEventArgs e)
{
//子ウィンドウのオブジェクト
nextwindow next = new nextwindow();
//nextwindowの変数に値を代入する。
next.strAddress = "hoge";
//子ウィンドウを出す。
next.ShowDialog();
}
public void strText()
{
//Xamlに設定されたテキストボックス
GotText.Text = setText;
}
}
//子ウィンドウ
class nextwindow
{
string straddress;
public string strAddress
{
set{ this.straddress = value;}
get{ return this.straddress;}
}
//オブジェクト作成
test t = new test();
public nextwindow()
{
InitializeComponent();
}
private void Button_Click(object sender , RoutedEventArgs e)
{
//testクラスのsetTextにstrAddressを代入
t.setText = strAddress;
//testクラスのstrTextメソッド呼び出し
t.strText();
//子ウィンドウを閉じる
this.Close();
}
}
すでに調べ・悩み始めて3時間経過しようとしてるので出来るだけ優しく教えていただけると幸いですm(_ _)m
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/19 03:48