我有一个自定义列表框,其中每个项目都有一个定义了我显示框的网格。我可以使用 SharedSizeGroup 属性将宽度设置为相同的长度。但是,如何为父 ListBox 元素中的所有这些项目共享此属性?
我也尝试在 ListBox 元素上设置属性,但这不起作用。
<ListBox
ItemContainerStyle="{StaticResource MyStyle}"...>
<Style x:Key="MyStyle" TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Grid Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Box" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Box" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Box" />
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<TextBlock Text="{Binding PropertyA}" />
</Border>
<Border Grid.Column="1">
<TextBlock Text="{Binding PropertyB}" />
</Border>
<Border Grid.Column="2">
<TextBlock Text="{Binding PropertyC}" />
</Border>
</Grid>