how to get grid children by its row and column in wpf?

匿名 (未验证) 提交于 2019-12-03 07:50:05

问题:

<Grid x:Name="LayoutRoot" HorizontalAlignment="Center" VerticalAlignment="Center" >     <Grid.RowDefinitions>         <RowDefinition Height="Auto"/>         <RowDefinition Height="Auto"/>     </Grid.RowDefinitions>     <Grid.ColumnDefinitions>         <ColumnDefinition Width="Auto"/>         <ColumnDefinition Width="Auto"/>     </Grid.ColumnDefinitions>     <Button Width="150" Height="50" x:Name="Btn1" Content="Button1" Grid.Row="0" Grid.Column="0"/>     <Button Width="150" Height="50" x:Name="Btn2" Content="Button2" Grid.Row="0" Grid.Column="1"/>     <Button Width="150" Height="50" x:Name="Btn3" Content="Button3" Grid.Row="2" Grid.Column="0"/>     <Button Width="150" Height="50" x:Name="Btn4" Content="Button4" Grid.Row="2" Grid.Column="1"/> </Grid> 

C# code in wpf

Visual childVisual = (Visual)VisualTreeHelper.GetChild(LayoutRoot,0); 

With above code i can get the First child of the grid(LayoutRoot).But i want to get grid child by it's rows or columns. What should i do for that.

Thanks in Advance.

回答1:

Filter the Grid.Children based on what Grid.GetRow and GetColumn returns for every child.

e.g.

var itemsInFirstRow = LayoutRoot.Children                           .Cast<UIElement>()                           .Where(i => Grid.GetRow(i) == 0); 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!