0

这是我第一次使用 WPF。这有点像一场噩梦,但我已经完成了足够多的项目,我现在不想从一个表单应用程序重新开始。

我的问题是:我在扩展器中有 50 个文本框,而扩展器又位于堆栈面板中。我需要将每个文本框的值存储在一个数组中。在表单中,我可能会这样做(顺便说一下,我正在使用 vb.net):

Dim i As Integer
Dim values() as string
For i = 0 To 49
values(i) = form1.Controls("TextBox" & i).text
Next i

(假设我的文本框被命名为 Textbox1、Textbox2、Textbox3 等)

如何在 WPF 中做到这一点?我尝试过使用 Trees(我认为它们被称为?)但每次都失败了,现在放弃了。

哦,我还忘了提到扩展器中还有其他控件(与文本框配对的标签)。

4

1 回答 1

0

这属于编码恐怖类别,但如果你想继续研究它,FrameworkElement 上有一个名为 FindName ( http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.findname.aspx )的方法会做你需要的。它递归地搜索它的子元素,只需命名您的扩展器并在代码隐藏中使用 FindName 来获取所有文本框。

于 2012-05-30T22:12:32.470 回答