我想将变量作为参数从主窗口传递到新窗口。
实际上,我可以在新窗口的事件处理程序中访问参数,但不能在构造函数中访问。
mainwindow.xaml.cs:
string selectedKey = “test”;
EditTri editTri = new EditTri();
editTri.key = selectedKey;
editTri.ShowDialog();
EditTri.xaml.cs:
public partial class EditTri : Window
{
public string key;
public EditTri()
{
InitializeComponent();
MessageBox.Show(key); //key = null ...
}
private void buttonEdit_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(key); //key = test
this.Close();
}
}
我只需要访问构造函数key
中的参数EditTri()
。我该怎么办?
答案 0 :(得分:1)
只需为您构造函数
添加一个参数public partial class EditTri : Window
{
private string _key;
public EditTri(string key)
{
_key = key;
InitializeComponent();
MessageBox.Show(key);
}
...
用法
string selectedKey = “test”;
EditTri editTri = new EditTri(selectedKey);
editTri.ShowDialog();
警告,在构造函数中显示MessageBox
有点臭。
最好在类似Loaded事件之类的地方这样做