0

<RowDefinition Height="8">すべての可視領域を占めるために、次の ListView を Grid win a で定義しています。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 の情報を削除しないと、1 つの長いリストが作成されず、機能しません。

助言がありますか?

これを変更すると、垂直スクロールバーは機能しますが、水平スクロールバーはトーストです。

<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 に答える