VB中的WPF:如何从字符串中提取表单中的文本框?

VB中的WPF:如何从字符串中提取表单中的文本框?,wpf,vb.net,xaml,Wpf,Vb.net,Xaml,我试图从一个字符串中获取WPF表单中的对象TextBox,该字符串等于TextBox.Name 我的XAML如下所示: <Window> <DockPanel> <TabItem Header="3"> <Grid> <TextBox x:Name="textBox1"/> <TextBox x:Name="textBox2"/> </Grid> </TabItem> </Dockp

我试图从一个字符串中获取WPF表单中的对象TextBox,该字符串等于TextBox.Name

我的XAML如下所示:

<Window>
<DockPanel>
<TabItem Header="3">
<Grid>
   <TextBox x:Name="textBox1"/>
   <TextBox x:Name="textBox2"/>
</Grid>
</TabItem>
</Dockpanel>
</Window>
我做错了什么


提前感谢

您可以使用您指定的名称从代码隐藏中访问元素

或者,如果仍要枚举树,则应使用递归方法查找元素。msdn显示了以下示例:


你为什么不直接用文本框的名称在代码中访问它呢?请描述一下你需要使用这种函数的场景?我有8个文本框和8个字符串,我想在一个文本框中随机放置1个字符串。所以random int我会给我textBox(i)。好的,谢谢,还有没有一种方法可以将“visual”转换成类似textBox的元素?Dim x=TryCast(visual,textBox),如果它不是textBox,则返回null
Private Function getTextboxOutName(ByVal parent As DependencyObject, ByVal textBoxName As String) As Object
    Dim element As Object

    Dim aantalElementen As Integer = VisualTreeHelper.GetChildrenCount(parent)
    If aantalElementen > 0 Then
        For n As Integer = 0 To aantalElementen - 1
            Dim child As DependencyObject = VisualTreeHelper.GetChild(parent, n)
            element = child
            If element.Name = textBoxName Then
                Return element
            End If
        Next
    End If

    Return Nothing
End Function
     Public Shared Sub EnumVisual(ByVal myVisual As Visual)
        For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(myVisual) - 1
            ' Retrieve child visual at specified index value.
            Dim childVisual As Visual = CType(VisualTreeHelper.GetChild(myVisual, i), Visual)

            ' Do processing of the child visual object.

            ' Enumerate children of the child visual object.
            EnumVisual(childVisual)
        Next i
    End Sub