私はvirutalzationを真にしたときにコンボボックススタイルのように奇妙な問題を抱えています.コンボボックスアイテムのすべてのチェックボックスをチェックするチェックボックスがあります.
ItemsPanel プロパティで、以下のように VirtualizingStackPanel を使用してカスタム スタイルを作成しました。
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<VirtualizingStackPanel IsItemsHost="True"
IsVirtualizing="True"
VirtualizationMode="Recycling" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
しかし、ビューをスクロールする前と後で、それは異なります。
たとえば、ここでは、アイテムパネルを下にスクロールした後、コンボボックスの最初のアイテムを取得しようとしています
ComboBoxItem cmbItem = ComboBox1.ItemContainerGenerator.ContainerFromItem(ComboBox1.Items[0]) as ComboBoxItem;
しかし、ここではNULLしか得られません。
では、仮想化を使用してこれを達成できる方法はありますか? (すでに仮想化されていることは知っています!)。または、仮想化をやめて別の解決策を考えるべきです。仮想化プロパティがないと、コンボボックスの読み込みが非常に遅くなることがわかりました。
何かご意見は?
前もって感謝します!:)