• .NET

    Virtualized Telerik ComboBox for Silverlight

    In some scenarios it is required to load thousands of items in a ComboBox. Since by default the control creates RadComboBoxItem containers for each data item, it might take some time to open the drop-down. To resolve the problem you only need to change the RadComboBox ItemsPanel with VirtualizingStackPanel: <telerikInput:RadComboBox> <telerikInput:RadComboBox.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel /> </ItemsPanelTemplate> </telerikInput:RadComboBox.ItemsPanel> </telerikInput:RadComboBox> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }   thus making the drop-down to open instantly. Attached is a simple application that loads 1000 items in two RadComboBox controls, one virtualized, the other – not virtualized. The difference between the two controls is visible and becomes much larger if you create 100,000 items! VirtualizingComboBox I hope this helps....
    October 28, 2009
  • .NET

    TreeView in ComboBox, take 3 (Silverlight 3, WPF and RadControls)

    In my previous article on the same topic I described how to replace the ItemsPresenter of RadComboBox with a RadTreeView. It was as simple as updating the control template. Unfortunately the controls’ selection synchronization relied on a bug in RadComboBox that we recently fixed – the control was able to have a value in its SelectedItem property, that was not present in its Items collection. Now, in order to workaround this new problem, we have to either inherit RadComboBox, or create an attached behavior that will allow us to get the SelectedItem of the inner RadTreeView. The code you have to write...
    August 27, 2009
  • .NET

    Binding a ComboBox to Enum Values with RadControls for Silverlight

    A common request in our support is to display a combo box, containing all values of a specific Enum. This is fairly easy with RadComboBox for Silverlight - all you need to do is to fill its ItemsSource collection with the Enum values. The best way to do this is to create a view model for the Enum: using System; using System.Collections; using System.Linq; using System.Reflection; namespace SilverlightApplication1 { public class EnumModel { private Type enumType; public IEnumerable Values { get; private set; } [TypeConverter(typeof(TypeTypeConverter))] ...
    June 12, 2009
  • .NET

    GridView in ComboBox with RadControls for Silverlight

    Recently we received several requests for an example, demonstrating how to put a virtualized GridView in a ComboBox popup. The best way to do this in my opinion is to replace the ItemsPresenter of the ComboBox with a GridView. There is some plumbing that has to be done, but I managed to separate it in two attached behaviors. The original idea is described in my blog post for TreeView in ComboBox which I recently updated with the latest control template of RadComboBox for Silverlight. The principle is exactly the same with RadGridView and it should work with very minor adjustments with...
    May 18, 2009
  • .NET

    TreeView in a ComboBox dropdown using RadControls for Silverlight

    As far as I can tell from the experience of my colleagues with RadControls for ASP.NET AJAX, one of the common feature requests for RadComboBox and RadTreeView is combining them into one piece. Recently we started to receive similar requests for RadComboBox and RadTreeView for Silverlight. Placing a TreeView in a ComboBox sometimes makes a lot of sense, so I decided to research the best way to do it.   The first, the simplest and most obvious way is to place a RadTreeView as content of RadComboBox: <input:RadComboBox> <nav:RadTreeView  ItemTemplate="{StaticResource ItemTemplate}"  ItemsSource="{StaticResource ItemsSource}" /></input:RadComboBox> This works, but it has one important limitation: RadComboBox cannot...
    November 08, 2008