0

この VirtualizedWrapPanel の実装でいくつかの行を修正しました。 OK、ListView の ItemsPanel として VirtualizedWrapPanel を使用して ListView を配置したウィンドウはスクロールできません。スクロールする代わりに、ユーザーはボタンをクリックしてページの変更などを開始します。そのため、ボタンのクリックに対する応答として、「項目の次の部分」を何らかの方法で表示する必要があります。

これが私が説明したListViewです:

 <ListView x:Name="StationsListView"
              ScrollViewer.VerticalScrollBarVisibility="Disabled"
              BorderThickness="0"
              DataContext="{StaticResource ViewModelKey}"
              SelectionMode="Extended"
              Grid.Row="1" ItemsSource="{Binding Stations}">
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <common:VirtualizingWrapPanel IsItemsHost="True" />
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <ListView.ItemTemplate>
            <DataTemplate>
                <Button Style="{DynamicResource DestinationButtonStyle}">
                    <TextBlock Text="{Binding FullName}"
                               Style="{DynamicResource DestinationStationTextBlockStyle}"
                               TextTrimming="CharacterEllipsis" />
                </Button>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

では、アイテムの次の部分に手動でスクロールするにはどうすればよいでしょうか?

4

1 に答える 1

1

リンクのコード例を調べた後、仮想化に関する著者の知識に確信が持てません。コード必要以上に複雑で効率が悪いようです。

私は仮想化を例を使って非常によく説明している WPF の本を持っていますが、誰かがそれをオンラインで公開しているので、あなたは幸運です。合法かどうかはわからないので、このリンクがいつまで機能するかはわかりませんが、現在は機能しています: Control Development Unleashed online の第 8 章をご覧ください。

于 2013-08-29T11:37:02.927 に答える