The frozen group rows area overlaps part of the column headers on horizontal scroll. This happens when GroupHeaderDisplayMode is Frozen.
To work this around, set the GroupHeaderDisplayMode to Scrollable.
<telerikGrid:RadDataGrid GroupHeaderDisplayMode="Scrollable">
A group can get duplicated when the GroupHeaderDisplayMode is Frozen (this is the default mode). In this case, a group visual is drawn in both the frozen headers area and the scrollable area below.
To work this around, set the GroupHeaderDisplayMode property to Scrollable.
<telerikGrid:RadDataGrid x:Name="dataGrid" GroupHeaderDisplayMode="Scrollable">
The MessageResultEventArgs' DataObjectResult property is empty when the ReportMessageResult event is raised for the SelectedItems property. The SelectedItems property is reported when the event is raised for a ListMessage with multiple selection enabled.
To work this around, instead of the DataObjectResult property, use the SelectedItems of the ListView control which presents the items in the ListMessage.
private void RadChat_ReportMessageResult(object sender, MessageResultEventArgs e)
{
if (e.Message is ListMessage lm && e.PropertyName == nameof(ListView.SelectedItems))
{
var listView = this.chat.ChildrenOfType<ListView>().FirstOrDefault(x => x.DataContext == e.Message);
if (listView != null)
{
IList<object> selection = listView.SelectedItems;
}
}
}
The Telerik UI for WinUI Desktop Examples installation fails when using the .appinstaller downloaded from here: https://demos.telerik.com/winui/
Scrolling with the mouse wheel scrolls directly to the bottom of the messages instead of scrolling smoothly between the items.
To work this around, create a custom class that derives from RadChat and override its OnPointerWheelChanged method.
public class CustomChat : RadChat
{
private ScrollViewer scrollViewer;
internal ScrollViewer ScrollViewer
{
get
{
if (this.scrollViewer == null)
{
this.scrollViewer = this.ChildrenOfType<ScrollViewer>().Where(sc => sc.Name == "PART_ScrollViewer").FirstOrDefault();
}
return this.scrollViewer;
}
}
protected override void OnPointerWheelChanged(PointerRoutedEventArgs e)
{
if (this.ScrollViewer != null)
{
int delta = e.GetCurrentPoint(this).Properties.MouseWheelDelta;
double wheelDetents = delta / 120.0;
double scrollableRange = ScrollViewer.ExtentHeight - ScrollViewer.ViewportHeight;
double step = 0.01 * scrollableRange;
double offsetDelta = wheelDetents * step;
double newOffset = ScrollViewer.VerticalOffset - offsetDelta;
newOffset = Math.Max(0, Math.Min(ScrollViewer.ExtentHeight, newOffset));
ScrollViewer.ScrollToVerticalOffset(newOffset);
}
}
}
Since Q2 2025, user defined Dark/Light/HighContrastResourcesPaths do not work - the custom resources are anot applied to the controls.
/// <summary>
/// Resource loader that provides the resource dictionaries with the brushes for the Telerik controls.
/// See https://docs.telerik.com/devtools/universal-windows-platform/common/teleriknamedbrushes.
/// </summary>
public sealed class TelerikResourceLoader : CustomXamlResourceLoader
{
/// <inheritdoc/>
protected override object GetResource(string resourceId, string objectType, string propertyName, string propertyType)
{
object result;
if (resourceId == "DarkResourcesPath")
{
result = new Uri("ms-appx:///{ProjectName}/Assets/Themes/Dark_Telerik.xaml");
}
else if (
resourceId == "LightResourcesPath" ||
resourceId == "HighContrastResourcesPath")
{
result = new Uri("ms-appx:///{ProjectName}/Assets/Themes/Light_Telerik.xaml");
}
else
{
result = null;
}
return result;
}
}
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<SolidColorBrush x:Key="TelerikGrid_BackgroundPointerOver" Color="Red" Opacity="0.25"/>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<SolidColorBrush x:Key="TelerikGrid_BackgroundPointerOver" Color="Green" Opacity="0.25"/>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
Edit - indeed the Light/Dark/ResourcePaths are deleted from the generic files of telerk controls due to the following regression in WinUI App SDK 1.7.25:
https://github.com/microsoft/microsoft-ui-xaml/issues/10506