我需要在ui中显示对象的详细信息。我有以下代码,它定义了类Category
的数据模板。我试图获得一个布局,其中成员名称和值的对将垂直堆叠。但是,我希望成员名称的宽度相同,值相同。我该怎么做才能获得这种布局?
<DataTemplate DataType="{x:Type local:Category}">
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*" SharedSizeGroup="a" />
<ColumnDefinition Width="6*" SharedSizeGroup="b" />
</Grid.ColumnDefinitions>
<StackPanel>
<StackPanel HorizontalAlignment="Stretch" Orientation="Horizontal" Grid.ColumnSpan="2">
<TextBlock Text="Id" Grid.Column="0" Grid.IsSharedSizeScope="True" />
<TextBlock Text="{Binding Path=Id}" Grid.Column="1"/>
</StackPanel>
<StackPanel HorizontalAlignment="Stretch" Orientation="Horizontal" Grid.ColumnSpan="2">
<TextBlock Text="Name" Grid.Column="0" Grid.IsSharedSizeScope="True" />
<TextBlock Text="{Binding Path=Name}" Grid.Column="1"/>
</StackPanel>
</StackPanel>
</Grid>
</DataTemplate>
答案 0 :(得分:6)
我认为您可以将Grid划分为两行并且不使用StackPanels?