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;