メインウィンドウには他のウィンドウインスタンスがたくさんあります
MainWindow
{
Window1 win1= new Window1();
Window2 win2 = new Window2();
// ....... and so on
private keydownevent( ,key e)
{
if(e.keu==key.return)
{
//some logic here
if(some condition)
{
win1.show();
}
else if(some condition)
{
win2.show()
}
// ....
}
}
}
// and in window1 lets say
Window1
{
foo_class fcl = new foo_class();
click_button()
{
// do some logic
fc1.function in class;
}
}
現在、テキストボックスのコンテンツはバーコードであり、ウィンドウ1が表示され、ウィンドウ1のクリックボタンが完了したときに、メインウィンドウのテキストボックスをクリアしたい
////////// 私が試してみました
MainWindow win= (MainWindow)Application.Current.MainWindow;
win.txtBlock1.Text = "";
foo_class と button_click を入れてもエラー window1 can not be cast to mainwindow がスローされる
私も試しました
window(texbox)としてキーダウン関数のテキストボックスとして引数を取るコンストラクタを作成しますが、それは毎回新しいインスタンスを作成しますが、メインウィンドウのインスタンス化中に作成されたインスタンスのみが必要であり、そのwindow1インスタンスを使用し続けます
メインウィンドウのテキストボックスをクリアする方法を提案してください。そして、そのメソッドをどこに置くべきですか