|
みなさん、ご回答ありがとうございます。
両方がFormのときはうまくいっています。 現状、試行錯誤で次のようにしてみました。
WPF側 public void setText() { //textBox1.Text = Properties.Settings.Default.message.ToString(); //MessageBox.Show(Properties.Settings.Default.message.ToString()); textBox1.Text = Properties.Settings.Default.message.ToString(); //textBox1.Text = System.IO.File.ReadAllText(@"tmp.txt"); //MessageBox.Show(textBox1.Text); //MessageBox.Show("aaa"); }
private void Window_Loaded(object sender, RoutedEventArgs e) { WpfApplication1.Form1 form = new WpfApplication1.Form1(); //form.Window = this; //これはform? from? fromはないといわれるし、formはWindowの定義が含まれていないとエラーになります。 form.Show();
}
Form1側 string testmessage = "test"; WpfApplication1.Window1 wpf = new WpfApplication1.Window1(); //wpf.toText(testmessage); //だめ。WPFのtexbBox1に表示されない。 //File.AppendAllText(@"tmp.txt",testmessage); //だめ。WPFのtexbBox1に表示されない。 //Properties.Settings.Default.message = testmessage;//だめ。WPFのtexbBox1に表示されない。 //wpf.setText();//だめ。WPFのtexbBox1に表示されない。 wpf.textBox1.Text = testmessage;//だめ。WPFのtexbBox1に表示されない。
と、プロパティと、ファイル読み書きと、いろいろ試しましたが、いずれも失敗しました。
ただし、//をはずしたときは、setText()を実行するとWPFのMessageBoxは表示されます。 ということは、setText()の処理は行われているようです。 さらに、WPF側にボタンを配置して、ボタンを押したときに、 textBox1.Text = Properties.Settings.Default.message.ToString(); すると、きちんと表示されます。 とすると、メッセージは伝わっていても、表示/再表示に問題が起きているのかも。
もしそうだとすると、強制的に再表示すればよいのでしょうか????
|