我有一个主窗口,里面有一个按钮,点击一下 - 打开一个对话框窗口,写一个名称,在文本框中保存一个名称,并需要打开另一个窗口。
我希望它会在主窗口打开新窗口 - 但它在对话框窗口中打开了窗口,allthoght我将所有者设置为主窗口..
我该怎么办?
这是对话框窗口按钮中的代码:
Screen myScreen = new Screen (name, ViewModel, mainWindow);
myScreen.Owner = mainWindow;
myScreen.Show();
this.Close();
答案 0 :(得分: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;
然后,您将使用返回的字符串显示第二个对话框。希望你看到逻辑。
答案 1 :(得分:0)
好的,你有三个窗口MainWindow
,其中有一个按钮可以打开另一个窗口名Dialog
,其中输入名称为textBox
,传递按钮{{1}输入到另一个窗口名textBox
。所以我在名为Screen
的{{1}}窗口中选择textBox
,这将显示已通过的文字,这是我的解决方案
主窗口按钮以这种方式显示对话框
Screen
textBoxName
窗口的构造函数,如下所示,它将文本作为参数传递 private void buttonMainShowDialog_Click(object sender, RoutedEventArgs e)
{
Dialog dl = new Dialog();
dl.ShowDialog();
}
窗口Screen
文本
Dialog
您需要从对话框窗口调用此屏幕窗口,如下所示
textBox
它的工作正常,希望这能帮到你