Hello,
in the default microsoft combobox, i can activate the ui virtualization setting the followed properties:
<Style TargetType="{x:Type ComboBox}"> <Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="True" /> <Setter Property="VirtualizingStackPanel.VirtualizationMode" Value="Recycling" /> <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="True" /> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <VirtualizingStackPanel IsItemsHost="True" /> </ItemsPanelTemplate> </Setter.Value> </Setter> </Style>
How can i do the same with XamComboEditor-Control?
thank you.
I am not 100% sure, but I think that the ui virtualization of the XamComboEditor is enabled by default. However, the XamComboEditor exposes a ComboBoxStyle property, which you can use to set the style in your previous post just to be sure.
HTH
It is not true. I use the Data Virtualization Classes from Vincent (See http://social.msdn.microsoft.com/Forums/en/wpf/thread/98090161-0abf-4799-bbcb-852dcc0f0608 )
With MS-ComboBox and after setting the virtualization properties and virtualized stackpanel, he picks up only the visible items.
This actually isn't a product of the ItemsPanel. The xamComboEditor does some caching of the item information to optimize look ups. There isn't a way to disable this.
ok. then it is not a clear UI Virtualization support in XamComboEdit - Control.
UI-Virtualization means that It is accessed only on items that are viewable. Actually XamComboEdit goes through all the items. It is not true and so i cant implement the data virtualization based on ui virtualization like MS-ComboBox. :-(
WPF is a new Technlogie and important functions like UI Virtualization should be always compared with the standard controls from Microsoft. In this case XamComboEditor behaves elementarily different than MSComboBox and that is the point.
That is not accurate. UI Virtualization does not mean that an items control doesn't access the items within its items collection. If you set the SelectedValue of a ComboBox the only way to for it to know what the SelectedIndex should be is to enumerate the list and find the item in this list. UI Virtualization means that an element for each item is not generated up front - instead only enough elements are created for what is in view. In the xamComboEditor this is still the case - it is not generating elements for each item in the list. Instead it is just enumerating the list to access its value/display text information to optimize look ups. It is not generating any elements for these objects and therefore its still capable (and does by default) virtualize the items within the dropdown.