There is a bug in RadListBox when using GroupStyle. When I select any an item from second group, radlistbox scrolls to first item in second group. This makes double click on an items almost imposible.
I wrote a simple sample demonstrating the behaviour with comparison to regular listbox
<
Window
x:Class
=
"RadControlsWpfApp2.MainWindow"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:local
=
"clr-namespace:RadControlsWpfApp2"
Title
=
"MainWindow"
Height
=
"350"
Width
=
"525"
>
<
Window.DataContext
>
<
local:MainWindowVM
/>
</
Window.DataContext
>
<
Grid
>
<
StackPanel
Orientation
=
"Horizontal"
>
<
ListBox
x:Name
=
"listbox"
ItemsSource
=
"{Binding CollectionView}"
IsSynchronizedWithCurrentItem
=
"False"
DisplayMemberPath
=
"Name"
FontSize
=
"20"
MinWidth
=
"150"
>
<
ListBox.GroupStyle
>
<
GroupStyle
/>
</
ListBox.GroupStyle
>
</
ListBox
>
<
telerik:RadListBox
x:Name
=
"radlistbox"
ItemsSource
=
"{Binding CollectionView}"
DisplayMemberPath
=
"Name"
FontSize
=
"20"
MinWidth
=
"150"
Margin
=
"20,0,0,0"
>
<
telerik:RadListBox.GroupStyle
>
<
GroupStyle
/>
</
telerik:RadListBox.GroupStyle
>
</
telerik:RadListBox
>
</
StackPanel
>
</
Grid
>
</
Window
>
using
System.Collections.Generic;
using
System.Windows.Data;
namespace
RadControlsWpfApp2
{
public
class
MainWindowVM
{
public
List<ItemVM> Collection {
get
;
set
; }
public
ListCollectionView CollectionView {
get
;
set
; }
public
MainWindowVM()
{
Collection =
new
List<ItemVM>
{
new
ItemVM { Group =
"A"
, Name =
"Item 1"
},
new
ItemVM { Group =
"A"
, Name =
"Item 2"
},
new
ItemVM { Group =
"A"
, Name =
"Item 3"
},
new
ItemVM { Group =
"A"
, Name =
"Item 4"
},
new
ItemVM { Group =
"A"
, Name =
"Item 5"
},
new
ItemVM { Group =
"A"
, Name =
"Item 6"
},
new
ItemVM { Group =
"B"
, Name =
"Item 1"
},
new
ItemVM { Group =
"B"
, Name =
"Item 2"
},
new
ItemVM { Group =
"B"
, Name =
"Item 3"
},
new
ItemVM { Group =
"B"
, Name =
"Click Here!"
},
new
ItemVM { Group =
"B"
, Name =
"Item 5"
},
new
ItemVM { Group =
"B"
, Name =
"Item 6"
},
};
var view =
new
ListCollectionView(Collection);
view.GroupDescriptions.Add(
new
PropertyGroupDescription(
"Group"
));
CollectionView = view;
}
}
public
class
ItemVM
{
public
string
Group {
get
;
set
; }
public
string
Name {
get
;
set
; }
}
}