gpt4 book ai didi

wpf - 分组的 CollectionView 的组可以水平呈现吗?

转载 作者:行者123 更新时间:2023-12-04 19:46:36 25 4
gpt4 key购买 nike

我正在实现一个 ListBox,它的 ItemsPanel 是一个 WrapPanel as per this answer ,但有一个转折点:我的 ItemsSource 是 分组集合 View 。带 GroupStyle应用于我的 ListBox,该问题中显示的包装不起作用:组始终垂直显示。

Snoop在我的应用程序上,原因如下:

Snoop displaying WrapPanel in GroupItem

如您所见,WrapPanel,定义为我的 ListBox 的 ItemsPanelTemplate,出现在每个 GroupItem 内的 ItemsPresenter 中;创建了一个隐式的、垂直方向的 StackPanel(粉红色框中的顶部项目)来包含 GroupItems 本身。

有没有办法覆盖这种行为,所以 GroupItems 被放置在 WrapPanel 中?我是否必须重新模板化整个 ListBox?

更新:为了说明我对 ListBox 和 CollectionView 分组的实际操作,让我发布一些 XAML:

<Grid>
<ListBox ItemsSource="{Binding}"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
SelectionMode="Multiple"
ItemContainerStyle="{StaticResource itemStyle}">
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" FontWeight="Bold"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type WpfApplication1:Item}">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Name}" FontSize="10"/>
<TextBlock Text="{Binding Amount, StringFormat={}{0:C}}" FontSize="10"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Grid>
GroupStyle是它的核心:如果删除它,则不会呈现 GroupItem,并且 WrapPanel(您可以在上面的屏幕截图中看到出现在 GroupItem 下方)代替屏幕截图中的 (StackPanel) 98。

最佳答案

只有在 GroupStyle 中定义了 HeaderTemplate 时,才会出现此行为。

可以通过将 GroupStyle.Panel 属性设置为包含 WrapPanel 来纠正它:

<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" FontWeight="Bold"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<WrapPanel></WrapPanel>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</ListBox.GroupStyle>

它看起来像这样:
enter image description here

关于wpf - 分组的 CollectionView 的组可以水平呈现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5504295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com