WPF-获取和检索子级
我有一个包含多个子项的组件,例如网格:WPF-获取和检索子级,wpf,Wpf,我有一个包含多个子项的组件,例如网格: <Grid> <Button></Button> <Button></Button> </Grid> <Grid> </Grid> 我需要在一个变量中获取该组件的所有子组件(在本例中为两个按钮),删除其父亲的子组件(网格),并将其作为另一个组件的子组件插入,例如,最后一个空网格。我该怎么做?重要提示:孩子可以是任何东西(按钮、网格、文本框等
<Grid>
<Button></Button>
<Button></Button>
</Grid>
<Grid>
</Grid>
我需要在一个变量中获取该组件的所有子组件(在本例中为两个按钮),删除其父亲的子组件(网格),并将其作为另一个组件的子组件插入,例如,最后一个空网格。我该怎么做?重要提示:孩子可以是任何东西(按钮、网格、文本框等)
如果您需要考虑其他容器而不是“代码>网格> <代码>(<代码>装饰器< /代码>,<代码>内容控制< /代码>,<代码>内容发布者< /代码>),您必须将逻辑与每种情况相适应(<代码>子< /代码>或<代码>内容< /代码>属性,而不是<代码>儿童< /代码>)。必须将其传输到具有相同外部结构的另一个父级。我尝试过:private void myGrid_Loaded(object sender,RoutedEventArgs e){Grid newGrid=newGrid();UIElement child=(UIElement)visualtreeheloper.GetChild(this,0);this.Children.Clear();newGrid.Children.Add(child);this.Children.Add(newGrid);}事实上,我正在尝试创建一个新的网格来包装原始网格的内容。请编辑您的问题,而不是在注释中发布代码。这是不可读的。不一定只有网格,但所有面板派生的容器元素。
while (Grid1.Children.Count > 0)
{
var element = Grid1.Children[0];
Grid1.Children.Remove(element);
Grid2.Children.Add(element);
}