在我的应用程序中,我有以下ListBox:
<ListBox ItemsSource="{Binding Path=ItemsSource}" ScrollViewer.CanContentScroll="True">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" MaxWidth="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type ListBox}}}" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Height="300">
<!-- One ProgressBar and multiple TextBlocks -->
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这样,我在同一行上有多个项目。如果一行的项目太多,则会将以下项目发送到下一行。
我遇到的问题是ScrollViewer.CanContentScroll =“True”对ListBox没有影响。向下滚动仍在处理物理单位。当我评论XAML的ListBox.ItemsPanel部分时,向下滚动工作正常,但每行只显示一个项目......
所以我的问题如下:如何将逻辑单位的向下滚动与项目的水平方向相结合?
谢谢!