Xaml 网格中某行的UserControl
我有以下表格:Xaml 网格中某行的UserControl,xaml,user-controls,grid,Xaml,User Controls,Grid,我有以下表格: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <!-- GridRow-Definition --> <Label Grid.Row="0
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- GridRow-Definition -->
<Label Grid.Row="0" Grid.Column="0">FirstRow:</Label>
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Binding_To_First_Row}" />
<Label Grid.Row="1" Grid.Column="0">SecondRow:</Label>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Binding_To_Second_Row}" />
<!-- many more Label-TextBox-Rows -->
</Grid>
第一行:
第二行:
问题:
有没有办法创建一个包含标签和文本框的UserControl,并以适当的方式正确对齐第一列?答案是肯定的,这是可能的,但也许您应该使用DataGrid或ItemsControl与DataTemplate 不过,您的问题的简单答案是,如果需要不同网格中的网格列来同步其宽度,可以使用SharedSizeGroup属性,例如:
<UserControl>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="column1" Width="auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
</UserControl>
然后在父元素中使用Grid.IsSharedSizeScope=“True”
这将同步该范围内具有相同SharedSizeGroup的任何列(或行)(您可以有多个嵌套范围)。这正是我所要求的。非常感谢。
<StackPanel Grid.IsSharedSizeScope="True">
<local:UserControl1/>
<local:UserControl1/>
</StackPanel>