在事件键下获取发件人文本框名称



我正在使用WPF和c#开发一个应用程序。在一个窗口上,我有许多文本框排列在一个网格的5列和行,尽可能多的用户需要。它的工作原理是这样的:最初5个textBox的第一行是可见的,用户输入适当的值,一旦他在该行的第5个textBox中点击ENTER,就会为新条目生成一个新的类似的textBox行。这种情况不断发生。每个文本框使用RegisterName方法和循环有一个唯一的名称。

现在我的问题是,假设我已经在窗口上创建了5行大约25个文本框。我把重点放在第三行的一个文本框上,并键入一些触发适当的KeyDown事件的东西。在这个keydown事件中,我需要Name的所有文本框,导致这个事件。我该怎么做呢?

这样做,还将帮助我访问该行的所有其他文本框,因为我知道它们使用的命名法。请帮助。

您可以尝试这样做:

注意我们还设置了Name属性和FrameworkContentElement。RegisterName函数。

var box = new TextBox();
var itemName = "Unique Identifier";  // Change this to your unique name per box
this.RegisterName(itemName, box);
box.Name = itemName;
box.KeyDown += (sender, args) => {
  var textBox = sender as TextBox;
  if (textBox != null)
    MessageBox.Show(textBox.Name);  // Would show "Unique Identifier"
};

请将此事件用于文本框

TextBox_PreviewKeyDown(object sender, KeyEventArgs e)

和获取文本框的id使用sender参数与标签的组合。

 i.e.     TextBox textbox = (TextBox)sender;

相关内容

  • 没有找到相关文章

最新更新