KeyNotFoundException occurs when you assing the DisplayIndex of a tile group to a value bigger than the groups' count. For example, when you have 3 groups and set the DisplayIndex to 3 or more. If such situation occur it would be expected for the tile list to coerce the value to the closest available index. Similar to how the WPF native attached Grid.Row and Grid.Column properties work.
Exceptions message: KeyNotFoundException: 'The given key '0' was not present in the dictionary.'
System.Private.CoreLib.dll!System.ThrowHelper.ThrowKeyNotFoundException<int>(int key) Unknown
System.Private.CoreLib.dll!System.Collections.Generic.Dictionary<int, int>.this[int].get(int key) Unknown
> Telerik.Windows.Controls.dll!Telerik.Windows.Controls.RadTileList.InitializeGroupDisplayIndexes() Line 273 C#
Telerik.Windows.Controls.dll!Telerik.Windows.Controls.RadTileList.GenerateTileGroups(System.Collections.ObjectModel.ReadOnlyObservableCollection<object> groupsCollection) Line 300 C#
Telerik.Windows.Controls.dll!Telerik.Windows.Controls.RadTileList.AutoGenerateTiles() Line 690 C#
Telerik.Windows.Controls.dll!Telerik.Windows.Controls.RadTileList.ResetItemsOnItemsChanged() Line 650 C#
Telerik.Windows.Controls.dll!Telerik.Windows.Controls.RadTileList.OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e) Line 616 C#
PresentationFramework.dll!System.Windows.Data.CollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args) Unknown
WindowsBase.dll!System.Windows.WeakEventManager.ListenerList<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.DeliverEvent(object sender, System.EventArgs e, System.Type managerType) Unknown
WindowsBase.dll!System.Windows.WeakEventManager.DeliverEvent(object sender, System.EventArgs args) Unknown
PresentationFramework.dll!System.Windows.Data.CollectionView.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs args) Unknown
PresentationFramework.dll!System.Windows.Data.ListCollectionView.RefreshOverride() Unknown
PresentationFramework.dll!System.Windows.Data.CollectionView.RefreshInternal() Unknown
PresentationFramework.dll!System.Windows.Data.CollectionView.DeferHelper.Dispose() Unknown
PresentationFramework.dll!System.Windows.Controls.ItemCollection.SetCollectionView(System.Windows.Data.CollectionView view) Unknown
PresentationFramework.dll!System.Windows.Controls.ItemsControl.OnItemsSourceChanged(System.Windows.DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e) Unknown
PresentationFramework.dll!System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs e) Unknown
WindowsBase.dll!System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs args) Unknown
<
Style
BasedOn
=
"{StaticResource TileGroupContainerStyle}"
TargetType
=
"telerik:TileGroupContainer"
>
<
Style.Triggers
>
<
DataTrigger
Binding
=
"{Binding Items.Count}"
Value
=
"0"
>
<
Setter
Property
=
"ItemsSource"
Value
=
"{x:Null}"
/>
</
DataTrigger
>
</
Style.Triggers
>
</
Style
>
Create a feature in the RadTileList control that allows the user to select multiple tiles, but only one (or maybe, any number - it could be a property that is set for this specific kind of selection) per group.
This was first discussed on this forum thread: https://www.telerik.com/forums/multiple-selection-single-selection-per-group and it's the reason behind this feature request.
The current workaround to overcome this "issue" is also available through that link.
As a workaround you can apply the style explicitly or through an ItemContainerStyleSelector.
Make Tile.DisplayIndex property a dependency property so it can be can be set through data binding.
RadTileList: Memory leak when removing items from the collection of ItemsSource of the RadTileList and then change any property of any of the removed items. Available in LIB version: 2017.2.605
This will allow to have different visual customization for the separate groups.
The horizontal scrollbar disappears setting RadTileList's background to black and when Windows8Touch theme is used. Declined: By default the ScrollBar's Thumb in Windows8Touch theme is transparent black and it is expected not to be visible on black background. For customization of the ScrollBar see attached project: 1. Extract the Style and Control Templates for the ScrollBar and its components from the System.Windows.xaml 2. Modify the HorizontalThumb and VerticalThumb's backgrounds to any color different from black - e.g. MainBrush, which is white in Windows8Thouch theme, change any needed opacities in the VisualStates 3. Apply the style globally for your application in App.xaml or only to the needed controls - in their <Control>.Resources (including all its needed resources)