C# 如何以编程方式查找WPF expander子级? 标题

C# 如何以编程方式查找WPF expander子级? 标题,c#,wpf,C#,Wpf,我以编程方式添加了一个扩展器,网格,以及一些其他控件。 现在,我想获取Expanders内容的Grid中的StackPanels子项 Expander Grid StackPanel TextBox 如何访问TextBox.Text 对于StackPanel我会使用 List<StackPanel = mypanel.Children.OfType<StackPanel>.ToList(); 不起作用 多亏了mm8,我修复了我的问题如下: Grid

我以编程方式添加了一个
扩展器
网格
,以及一些其他控件。 现在,我想获取
Expanders
内容的
Grid
中的
StackPanels
子项

Expander
  Grid
    StackPanel
      TextBox
如何访问
TextBox.Text

对于
StackPanel
我会使用

List<StackPanel = mypanel.Children.OfType<StackPanel>.ToList();
不起作用

多亏了mm8,我修复了我的问题如下:

Grid grid = editable_expander.Content as Grid;
                List<StackPanel> stackpanel = grid.Children.OfType<StackPanel>().ToList();
                for(int i = 1; i < 2; i++)
                {
                    StackPanel sp = stackpanel[i];
                    List<TextBox> textbox = sp.Children.OfType<TextBox>().ToList();
                    for(int j = 0; j < textbox.Count; j++)
                    {
                        TextBox tb1 = textbox[j];
                        length = Convert.ToInt32(tb1.Text);
                    }
                }
Grid Grid=可编辑的内容作为网格;
List stackpanel=grid.Children.OfType().ToList();
对于(int i=1;i<2;i++)
{
StackPanel sp=StackPanel[i];
列表文本框=sp.Children.OfType().ToList();
对于(int j=0;j
强制转换
内容
属性:

Grid grid = expander.Content as Grid;
试一试


@Sinatr的可能重复项不起作用。从重复项在可视树中递归查找子项的解决方案应使您能够使用任一父项查找
TextBox
,然后访问其
Text
属性。“没用”-没办法,对不起。那对我有用,谢谢。不知道谁不喜欢这里的所有答案,但谢谢你的解决方案。我没想到会这样。。
Grid grid = expander.Content as Grid;
Grid gr;
StackPanel sp;
TextBox tb;
...
gr = ex.Content as Grid;
sp = gr.Children[0] as StackPanel;
tb = sp.Children[0] as TextBlock;
//reversed 
...
sp = tb.Parent as StackPanel;
gr = sp.Parent as Grid;
ex = gr.Parent as Expander;