在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;
它将返回默认值...
答案 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;
}