在另一个 window 中使用文本框输入?

Using textbox input in another window?

所以我一直在寻找我的问题的答案,但我找不到任何有用的东西。

问题是我希望用户在文本框中输入一个名字,然后按下一个按钮打开一个新的 window,它将在文本块中显示所选的名字。

我已经尝试在文本块上的第二个 window 中使用绑定:

{Binding Path=text, ElementName=TName}

而 TName 是唯一显示的...第一个 window 没有我想要的。 所以我对如何使用第一个 window.

中的文本框输入感到困惑
<TextBox x:Name="TIName" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="Name" Width="120" Height="23" VerticalAlignment="Top"/>

这是我第一次使用 window 和:

<TextBlock x:Name="TName" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="{Binding Path=text, ElementName=TName} " VerticalAlignment="Top">

是我第二个 window.

这是第一个按钮背后的代码 window:

private void Submit_Click(object sender, RoutedEventArgs e)
    {
        var test= new test();

        this.Close();
        test.Show();
    }

提前致谢:) 欢迎任何帮助。

你不能通过绑定来做到这一点。每个 window 中的元素及其名称的范围都在它们定义的 window 范围内;每个window的内容可以互不相识。

但是,这应该有效:

private void Submit_Click(object sender, RoutedEventArgs e)
{
    var test = new test();

    test.TName.Text = this.TIName.Text;

    this.Close();
    test.Show();
}

此绑定:

{Binding Path=text, ElementName=TName}

如果 TNameTIName 都在同一个 window 中,那将是正确的,但有两个小修复:绑定中的 属性 名称区分大小写, Text 属性 以大写 T 开头。该控件上不存在名为 text(全部小写)的 属性。其次,TextBox 被命名为 TIName,而不是 TName

应该是这样的:

{Binding Path=Text, ElementName=TIName}

但同样,前提是两个控件都在同一个 window 中,但这里不是这种情况。