0

我在 Grid win 中定义了以下 ListView<RowDefinition Height="8">以占用所有可见区域。Listview 在页面创建时被绑定、创建和填充。本质上,该列表将大于可视区域并高于可视区域,因此我希望能够上下滚动和从左到右滚动。

基本上,会出现垂直滚动条,但它不起作用。它显示了很多要滚动的区域,但它不能用鼠标移动。水平滚动似乎出现在列表底部,因为鼠标滚轮确实水平滚动,但看不到滚动条。

<ListView
x:Name="itemListViewHorizontal"
AutomationProperties.AutomationId="ItemListView"
AutomationProperties.Name="Grouped Items"
Grid.Row="1"
Visibility="Visible"
Margin="0,-10,0,0"
Padding="10,0,0,60"
ItemsSource="{Binding Source={StaticResource SearchItemsViewSource}}"
ItemTemplate="{StaticResource Standard80PersonTemplate}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick">

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <VirtualizingStackPanel Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.GroupStyle>
<GroupStyle>
    <GroupStyle.HeaderTemplate>
        <DataTemplate>
            <Grid Margin="7,7,0,0">
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding Title}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
                    <TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>
                </StackPanel>
            </Grid>
        </DataTemplate>
    </GroupStyle.HeaderTemplate>
    <GroupStyle.Panel>
        <ItemsPanelTemplate>
            <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/>
        </ItemsPanelTemplate>
    </GroupStyle.Panel>
</GroupStyle>
</ListView.GroupStyle>
</ListView>

本质上,我想要的是让左侧和底部的滚动条可以左右滚动或从上到下滚动。但无论我尝试什么,除了摆脱构成一个长列表的 ItemsPanelTemplate 和 ItemsPanel 信息之外,它都不起作用。

有什么建议么?

在改变这一点时,我的垂直滚动条有效,但水平滚动条是吐司。

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible"/>
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
4

1 回答 1

1

好吧,我一直在寻找一种更优雅的方式来做到这一点。显然,stackpanel 不能同时用于两个滚动条,尽管它没有明确说明这一点。所以,我用一个滚动查看器包围了我的列表视图,使用了一个名称,然后在快照视图上禁用。

问题解决了,但我一直在寻找一种没有太多嵌套的方法,但是,它就是这样。

于 2013-02-28T13:16:23.163 回答