Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF-获取和检索子级_Wpf - Fatal编程技术网

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);
}