在Visual C中跨WPF Windows获取和设置变量#

时间:2017-04-21 23:53:17

标签: c# wpf user-interface syntax

我打算在打开它后将变量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;

    }

但是文本框显示为空。我做错了吗?

1 个答案:

答案 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;
}