0

基本的なリストボックス テンプレート

<ListBox Height="200"   
        x:Name="lstBox"    
        ScrollViewer.VerticalScrollBarVisibility="Visible"
       VirtualizingStackPanel.IsVirtualizing="True"      VirtualizingStackPanel.VirtualizationMode="Recycling"  VirtualizingStackPanel.CacheLength="2,3"
        VirtualizingStackPanel.CacheLengthUnit="Page"
         ItemTemplate="{StaticResource  DataTemplater}"
         ItemsSource="{Binding Source={StaticResource SearchedResults}}" 
        SelectedItem="{Binding CurrentItem}" 
        IsSynchronizedWithCurrentItem="True">
           <ListBox.Template>
                  <ControlTemplate TargetType="{x:Type ItemsControl}">
                       <ScrollViewer  >
                                <ItemsPresenter />
                       </ScrollViewer>
                    </ControlTemplate>
          </ListBox.Template>
           <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                      <VirtualizingStackPanel ScrollUnit="Pixel" Orientation="Vertical"  VirtualizationMode="Recycling" IsContainerVirtualizable="True" IsVirtualizing="True" IsItemsHost="True"/>
                 </ItemsPanelTemplate>
          </ListBox.ItemsPanel>
        </ListBox>

DataTemplater 項目テンプレートには、コントロールがバインドされたスタック パネルが含まれています。バインディング ソースは、データ セットのデータ テーブルです。

ここでの問題は、仮想化が機能していないことです。アイテム テンプレートで指定された C# コード ルックアップがあり、そのコードは、表示されているアイテムだけでなく、データ テーブル内のすべてのアイテムにヒットしていますか?

この問題を解決するにはどうすればよいですか?

4

0 に答える 0