デザインのようなグリッドに 1000 を超える画像を含むリストボックスを作成しようとしています。設計に関しては、次のようになります。
UI の仮想化が壊れてしまい、stackpanel がそのようなグリッド (?) に画像をリストできないため、wrappanel を使用できないため、https://virtualwrappanel.codeplexの修正版を使用してこの問題を解決しようとしています。 .com
私のXAML:
<ListBox x:Name="GameWheel" ItemsSource="{Binding GameData}" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<c:VirtualizingWrapPanel IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Image x:Name="GameImage" Source="{Binding Path=ImagePath}" Width="{Binding ElementName=GameWheel, Path=ActualWidth, Converter={StaticResource widthConverter}}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
このアプローチは機能しますが、特に画像幅でバインドを使用する場合は、まだかなり遅く、バグがあります。同じ結果をアーカイブするより良い方法はありますか? できればカスタム ラップパネルなしで。