WPF:更改嵌套在堆栈面板中的扩展器内的所有文本框的值



这是我第一次使用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

(假设我的文本框被命名为文本框 1、文本框 2、文本框 3 等)

如何在 WPF 中执行此操作?我尝试过使用树(我认为它们被称为?),但每次都失败了,现在放弃了。

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

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

最新更新