我正在尝试将字符串传递给新窗口,当它打开并且无法正常工作时。这是Window 1中的代码;
窗口1
private void myButton_Click(object sender, RoutedEventArgs e)
{
var newMyWindow2 = new myWindow2();
newMyWindow2.Show();
newMyWindow2.myString = "The great String Value";
}
在Windows 2中,这是我对字符串的声明;
Windows 2
public partial class myWindow2 : Window
{
public string myString { get; set; }
}
当我运行它时,字符串出现NULL。这是为什么?
答案 0 :(得分:10)
这就是我要做的。将字符串传递给构造函数,然后分配它。
public myWindow2(string value)
{
InitializeComponent();
this.myString = value;
}
答案 1 :(得分:1)
在设置字符串值之前显示窗口,这意味着窗口正在加载myString
的空值。将字符串值作为参数传递给构造函数,或者定义一个默认值,如string.Empty
。