我打算在打开它后将变量WorkOrderText
传递给新窗口。我使用了here描述的方法,但是没有显示变量值。
可以在此处找到首次设置变量的窗口 public string testingString;
public partThreeWindow()
{
InitializeComponent();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
testingString = new TextRange(descriptionBox.Document.ContentStart, descriptionBox.Document.ContentEnd).Text;
partFourWindow partFour = new partFourWindow();
partFour.workOrderText = testingString;
partFour.Show();
this.Hide();
}
可以在此处找到接收变量和要显示的三元组的窗口:
public string workOrderText { get; set; }
public partFourWindow()
{
InitializeComponent();
this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
this.ResizeMode = ResizeMode.NoResize;
}
private void partFourWindow_Shown(object sender, EventArgs e)
{
testing.Text = this.workOrderText;
}
但是文本框显示为空。我做错了吗?
答案 0 :(得分:1)
Shown
事件仅在WinForms Form.Shown Event中可用。
partFourWindow_Shown
在哪里被调用?
从示例代码中,它没有被调用。要获取要更新的文本,您可以挂钩到窗口的Loaded事件。
public partFourWindow()
{
InitializeComponent();
this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
this.ResizeMode = ResizeMode.NoResize;
this.Loaded += OnLoaded;
}
private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
{
testing.Text = this.workOrderText;
}