如何拆分像网格一样的堆栈面板

nak*_*iya 3 c# wpf xaml .net-4.0

我需要在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>
Run Code Online (Sandbox Code Playgroud)

Hai*_*lei 6

我想你可以把Grid分成两行并且不使用StackPanels?