以具有水平方向的逻辑单位滚动ListBox

时间:2014-03-26 08:52:07

标签: c# wpf listbox scroll

在我的应用程序中,我有以下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部分时,向下滚动工作正常,但每行只显示一个项目......

所以我的问题如下:如何将逻辑单位的向下滚动与项目的水平方向相结合?

谢谢!

0 个答案:

没有答案