假设您要使用以下代码向Grid添加新元素:
ExpanderView newExpander = new ExpanderView();
newExpander.Name = name;
newExpander.Header = header;
newExpander.FontSize = 40;
if (row == 0)
newExpander.IsExpanded = true;
foreach (Item li in items)
{
CheckBox tb = new CheckBox();
tb.Content = content;
tb.FontSize = 20;
newExpander.Items.Add(tb);
}
MyGrid.Children.Add(newExpander);
Grid.SetRow(newExpander, row);
现在是xaml中的网格:
<Grid x:Name="MyGrid">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
</Grid>
现在cs代码部分中的最后一行Grid.SetRow(newExpander,row),
如果.xaml代码中有多个网格,如何告诉它要为哪个网格设置新行?
答案 0 :(得分:1)
以下代码
Grid.SetRow(newExpander, row);
如果对象属性中的行为1,仅设置Grid.Row="1"
。
要使用此属性,包含该对象的网格必须具有RowDefinitions
设置
如果.xaml代码中有多个网格,如何告诉它要为哪个网格设置新行?
你不需要告诉,因为你添加它后,对象仍然存在于网格中
当您更改属性Grid.Row
时,它仅设置在网格的巫婆行上,您的控件将被渲染