gpt4 book ai didi

c# - 在 ItemsControl 中滚动,同时使用水平 StackPanel 作为 ItemsPanel

转载 作者:太空狗 更新时间:2023-10-29 17:50:47 28 4
gpt4 key购买 nike

我有一个 ItemsControl,我已经构建了我在其中显示的项目 (views:DisplayGroupView),它们将水平扩展到显示所有内容而不是垂直显示(仅使用可用高度)

我已经将 ItemsControlItemsPanel 更改为使用 Orientation="Horizo​​ntal"StackPanel

在布局方面它是完美的,但无论我做什么我都无法让它水平滚动以便我可以看到所有内容。

这是 ItemsControl 的 XAML:

    <ItemsControl ItemsSource="{Binding DisplayGroups}" Grid.Row="1" Margin="120,20,120,20" VerticalContentAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate >
<StackPanel Orientation="Horizontal" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.HorizontalScrollBarVisibility="Visible"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>

<ItemsControl.ItemTemplate>
<DataTemplate>
<views:DisplayGroupView Margin="0,0,20,0" DataContext="{Binding}" VerticalAlignment="Stretch"></views:DisplayGroupView>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

这一切都很好,但不会滚动。我还尝试更改 ItemsControls 模板以包含滚动查看器,但这只会垂直堆叠:

            <ItemsControl.Template>
<ControlTemplate>
<ScrollViewer x:Name="ScrollViewer" Padding="{TemplateBinding Padding}" VerticalContentAlignment="Stretch" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.VerticalScrollMode="Disabled">
<ItemsPresenter VerticalAlignment="Stretch"/>
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>

如何在仍然能够滚动的情况下获得水平布局?

最佳答案

如果您将它从 ItemsControl 中拉出并自行嵌入,出于某种原因,这通常作为一种解决方法,例如;

<ScrollViewer VerticalScrollBarVisibilty="Disabled" HorizontalScrollBarVisibility="Auto">
<ItemsControl/>
</ScrollViewer>

关于c# - 在 ItemsControl 中滚动,同时使用水平 StackPanel 作为 ItemsPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115121/

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