如何从另一个WPF窗口向另一个WPF窗口发送字符串或任何其他值?

时间:2012-09-20 01:36:01

标签: c# wpf window

在Windows窗体中这更容易。所以我有一个标签程序。我添加了一个重命名标签的功能。当他们重命名一个标签时,它会将你引导到一个新的WPF窗口并在那里设置名称,如果他们单击“Enter”,对话框结果将为true,在主窗口中代码为

TabRename ren = new TabRename();
ren.txtNewN.SetValue(TextBox.TextProperty, tabI[tabM.SelectedIndex - 1].Header);
if (ren.ShowDialog() == true)
  {
     tabI[tabM.SelectedIndex - 1].Header = ren.txtNewN.Text;
  }

问题在于它返回由行

设置的第一个值
ren.txtNewN.SetValue(TextBox.TextProperty, tabI[tabM.SelectedIndex - 1].Header);

如果你通过

获得价值
tabI[tabM.SelectedIndex - 1].Header = ren.txtNewN.Text;

它将返回默认值...

1 个答案:

答案 0 :(得分:0)

我对您发布的代码感到有点困惑,但假设您的TabRename代码看起来像这样,我会说它应该可以正常工作。

public class TabRename()
{
    public string NewName 
    { 
        get 
        { 
            return txtNewN.Text; 
        } 
        set
        {
            txtNewN.Text = value;
        }
    }
}

然后就这么说吧

TabRename ren = new TabRename();
ren.NewName = tabI[tabM.SelectedIndex - 1].Header;
if (ren.ShowDialog())
{
    tabI[tabM.SelectedIndex - 1].Header = ren.NewName;
}