Unplanned
Last Updated: 26 Jun 2025 06:43 by Access
Provide text formatting options while typing in the chat textbox. The formatted text should be properly visualized as well. 
In Development
Last Updated: 25 Jun 2025 07:01 by ADMIN

Using the RadRibbonWindow with the Office2019 theme, the maximize icon is updated when the button is interacted with (it does not change between the maximized and normal states). 

To work around this behavior, extract the default ControlTemplate of the RadRibbonWindow element and add an additional Setter with TargetName="maximizeButton" for its Content property, to the Trigger for the WindowState property when its value is set to Maximized. For the Value property of the added Setter, create a new RadGlyph element and set its Glyph property to GlyphWindowCollapse.

The following code snippet showcases this suggestion's implementation:

<Style TargetType="telerik:RadRibbonWindow" BasedOn="{StaticResource RadRibbonWindowStyle}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="telerik:RadRibbonWindow">
                <Border x:Name="outerBorder" Background="{TemplateBinding WindowBackground}" CornerRadius="{TemplateBinding CornerRadius}">
                    <Grid x:Name="MaximizeWindowDecorator">
                        <Grid telerik:CornerRadiusHelper.ClipRadius="{Binding ElementName=outerBorder, Path=CornerRadius}" telerik:CornerRadiusHelper.ClipRadiusOffset="{TemplateBinding telerik:CornerRadiusHelper.ClipRadiusOffset}" Margin="{TemplateBinding BorderThickness}">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="28"/>
                                <RowDefinition Height="*"/>
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                            <Border Grid.Row="0" Grid.Column="1" Background="{telerik:Office2019Resource ResourceKey=HeaderBackgroundBrush}"/>
                            <Grid Grid.ColumnSpan="3">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="Auto"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <StackPanel x:Name="IconPanel" Orientation="Horizontal" HorizontalAlignment="Left" Visibility="{TemplateBinding IconVisibility}" VerticalAlignment="Center" Margin="4 0 0 0">
                                    <Image
                                    Name="PART_Icon"
                                    shell:WindowChrome.IsHitTestVisibleInChrome="True"
                                    Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Icon, Converter={StaticResource IconConverter}}"
                                    Width="{Binding Path=SmallIconSize.Width, Source={x:Static shell:SystemParameters2.Current}}"
                                    Height="{Binding Path=SmallIconSize.Height, Source={x:Static shell:SystemParameters2.Current}}"/>
                                    <Rectangle Width="1" Margin="4 0" Fill="{telerik:Office2019Resource ResourceKey=MainBorderBrush}"/>
                                </StackPanel>
                                <telerikRibbonViewPrimitives:WindowTitle x:Name="WindowTitle"
                                Grid.Column="1"
                                Title="{TemplateBinding Title}"
                                Style="{TemplateBinding TitleBarStyle}"
                                VerticalAlignment="Center"
                                HorizontalAlignment="Center"
                                Margin="0 0 65 0"/>
                            </Grid>
                            <StackPanel x:Name="buttonPanel" Orientation="Horizontal" Grid.ColumnSpan="3" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0 0 2 0">
                                <telerik:RadButton x:Name="minimizeButton"
                                                   shell:WindowChrome.IsHitTestVisibleInChrome="True"
                                                   ToolTipService.ToolTip="Minimize"
                                                   Command="{x:Static shell:SystemCommands.MinimizeWindowCommand}"
                                                   Style="{StaticResource RibbonWindowButtonStyle}"
                                                   CornerRadius="{Binding Path=CornerRadius.TopRight, RelativeSource={RelativeSource TemplatedParent}}">
                                    <telerik:RadButton.ToolTip>
                                        <TextBlock Text="{telerik:LocalizableResource Key=RibbonWindowMinimize}"/>
                                    </telerik:RadButton.ToolTip>
                                    <telerik:RadGlyph Glyph="{StaticResource GlyphMinimize}"/>
                                </telerik:RadButton>
                                <telerik:RadToggleButton x:Name="maximizeButton"
                                                         shell:WindowChrome.IsHitTestVisibleInChrome="True"
                                                         IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=WindowState, Converter={StaticResource BooleanToWindowStateConverter}, Mode=TwoWay}"
                                                         Style="{StaticResource RadRibbonWindowToggleButtonStyle}"
                                                         CornerRadius="{Binding Path=CornerRadius.TopRight, RelativeSource={RelativeSource TemplatedParent}}">
                                    <telerik:RadGlyph Glyph="{StaticResource GlyphWindow}"/>
                                </telerik:RadToggleButton>
                                <telerik:RadButton x:Name="closeButton"
                                                   shell:WindowChrome.IsHitTestVisibleInChrome="True"
                                                   Command="{x:Static shell:SystemCommands.CloseWindowCommand}"
                                                   Style="{StaticResource RibbonWindowButtonStyle}"
                                                   CornerRadius="{Binding Path=CornerRadius.TopRight, RelativeSource={RelativeSource TemplatedParent}}">
                                    <telerik:RadButton.ToolTip>
                                        <TextBlock Text="{telerik:LocalizableResource Key=RibbonWindowClose}"/>
                                    </telerik:RadButton.ToolTip>
                                    <telerik:RadGlyph Glyph="{StaticResource GlyphClose}"/>
                                </telerik:RadButton>
                            </StackPanel>
                            <Border x:Name="PART_ClientAreaBorder" Grid.Column="1" Grid.Row="1" Margin="0 12 0 0" Background="{TemplateBinding Background}"/>
                            <AdornerDecorator x:Name="Adorner" Grid.Column="1" Grid.RowSpan="2">
                                <ContentPresenter Canvas.ZIndex="0" Name="PART_RootContentPresenter"/>
                            </AdornerDecorator>
                            <ResizeGrip x:Name="WindowResizeGrip"
                            Grid.Row="1"
                            Grid.Column="1"
                            shell:WindowChrome.ResizeGripDirection="BottomRight"
                            HorizontalAlignment="Right"
                            VerticalAlignment="Bottom"
                            Visibility="Collapsed"
                            IsTabStop="False"/>
                        </Grid>
                        <Border Background="{x:Null}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}"/>
                    </Grid>
                </Border>
                <ControlTemplate.Triggers>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="Window.ResizeMode" Value="CanResizeWithGrip"/>
                            <Condition Property="Window.WindowState" Value="Normal"/>
                        </MultiTrigger.Conditions>
                        <Setter TargetName="WindowResizeGrip" Property="Visibility" Value="Visible"/>
                    </MultiTrigger>
                    <Trigger Property="Window.ResizeMode" Value="NoResize">
                        <Setter TargetName="minimizeButton" Property="Visibility" Value="Collapsed"/>
                        <Setter TargetName="maximizeButton" Property="Visibility" Value="Collapsed"/>
                    </Trigger>
                    <Trigger Property="Window.ResizeMode" Value="CanMinimize">
                        <Setter TargetName="maximizeButton" Property="IsEnabled" Value="False"/>
                    </Trigger>
                    <Trigger Property="WindowState" Value="Maximized">
                        <Setter TargetName="MaximizeWindowDecorator" Property="Margin" Value="6"/>
                        <Setter TargetName="maximizeButton" Property="Content">
                            <Setter.Value>
                                <telerik:RadGlyph Glyph="{StaticResource GlyphWindowCollapse}"/>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="CornerRadius" Value="0"/>
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="telerik:RadRibbonWindow.IsAutoHideTaskbar" Value="true"/>
                            <Condition Property="Window.WindowState" Value="Maximized"/>
                        </MultiTrigger.Conditions>
                        <Setter TargetName="MaximizeWindowDecorator" Property="Margin" Value="-7 -2 -7 -6"/>
                    </MultiTrigger>
                    <Trigger Property="IsTitleVisible" Value="False">
                        <Setter TargetName="WindowTitle" Property="Visibility" Value="Collapsed"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Unplanned
Last Updated: 24 Jun 2025 14:54 by Martin Ivanov
The size of some images in specific documents is scaled and positioned wrongly.
In Development
Last Updated: 24 Jun 2025 14:09 by ADMIN

The dialog and the watermark stating that no license is found are displayed, even when the license key is installed properly. This happens in addin projects, like Excel VSTO Add-in.

To workaround this use the  TelerikLicensing.Register method to install your license script key.

public MyWpfUserControl()
{
    TelerikLicensing.Register("your-script-key");
    InitializeComponent();
}

Unplanned
Last Updated: 24 Jun 2025 06:35 by ADMIN
No license found for Telerik UI for WPF when using Wix installer.
Unplanned
Last Updated: 23 Jun 2025 09:23 by Martin Ivanov
Currently, the QueryableEntityCoreCollectionView<T> class forces you to have an empty/parameterless constructor for the T type. This allows easier creation of the items at runtime. However, in some situations it makes sense to allow classes with only constructors with parameters. Such scenario is when following the DDD (Domain-Driven Design) pattern where it is strongly adviced to avoid having empty constructor in your entity classes.
In Development
Last Updated: 20 Jun 2025 08:20 by ADMIN
Scheduled for 2025 Q3 (August)

An ArgumentOutOfRangeException is thrown when the Separator property is set to a string that contains alpha-numeric/numeric "not required" mask tokens, and the clear button is pressed. The control works with a custom RadMaskedTextInput control to parse different date and time patterns for the start and end dates, which replaces the mask tokens with a placeholder, resulting in the exception when updating the Value property of the RadMaskedTextInput when the value is cleared.

In Development
Last Updated: 20 Jun 2025 08:20 by ADMIN
Scheduled for 2025 Q3 (August)

ArgumentOutOfRangeException occurs when the ItemsSource of RadComboBox gets reset. To recreate this the IsSelected property of RadComboBoxItem should be bound too and multiple selection should be allowed.

To work this around, you can disable the autiomation peers globally:

AutomationManager.AutomationMode = AutomationMode.Disabled;

Or you disable them only for the RadComboBox:

public class CustomComboBox : RadComboBox
{
    protected override AutomationPeer OnCreateAutomationPeer()
    {
        return null;
    }
}

The stacktrace:

System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')'
  System.Private.CoreLib.dll!System.ThrowHelper.ThrowArgumentOutOfRange_IndexMustBeLessException() Unknown
  System.Private.CoreLib.dll!System.Collections.Generic.List<System.__Canon>.this[int].get(int index) Unknown  Telerik.Windows.Controls.Input.dll!Telerik.Windows.Automation.Peers.RadComboBoxAutomationPeer.RaiseSelectionEvents(System.Windows.Controls.SelectionChangedEventArgs e) Line 202 C#  Telerik.Windows.Controls.Input.dll!Telerik.Windows.Controls.RadComboBox.OnSelectionChanged(System.Windows.Controls.SelectionChangedEventArgs e) Line 1927 C#
  PresentationFramework.dll!System.Windows.Controls.Primitives.Selector.SetSelectedHelper(object item, System.Windows.FrameworkElement UI, bool selected) Unknown
  PresentationFramework.dll!System.Windows.Controls.Primitives.Selector.NotifyIsSelectedChanged(System.Windows.FrameworkElement container, bool selected, System.Windows.RoutedEventArgs e) Unknown
  PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source, System.Windows.RoutedEventArgs args, bool reRaised) Unknown
  PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender, System.Windows.RoutedEventArgs args) Unknown
  Telerik.Windows.Controls.Input.dll!Telerik.Windows.Controls.RadComboBoxItem.OnSelected(System.Windows.RoutedEventArgs e) Line 59 C#
  PresentationFramework.dll!System.Windows.Controls.ListBoxItem.OnIsSelectedChanged(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
  WindowsBase.dll!System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, System.Windows.EffectiveValueEntry oldEntry, ref System.Windows.EffectiveValueEntry newEntry, bool coerceWithDeferredReference, bool coerceWithCurrentValue, System.Windows.OperationType operationType) Unknown
  PresentationFramework.dll!System.Windows.StyleHelper.ApplyStyleOrTemplateValue(MS.Internal.FrameworkObject fo, System.Windows.DependencyProperty dp) Unknown
  PresentationFramework.dll!System.Windows.StyleHelper.InvalidateContainerDependents(System.Windows.DependencyObject container, ref MS.Utility.FrugalStructList<System.Windows.ContainerDependent> exclusionContainerDependents, ref MS.Utility.FrugalStructList<System.Windows.ContainerDependent> oldContainerDependents, ref MS.Utility.FrugalStructList<System.Windows.ContainerDependent> newContainerDependents) Unknown
  PresentationFramework.dll!System.Windows.StyleHelper.DoStyleInvalidations(System.Windows.FrameworkElement fe, System.Windows.FrameworkContentElement fce, System.Windows.Style oldStyle, System.Windows.Style newStyle) Unknown
  PresentationFramework.dll!System.Windows.StyleHelper.UpdateStyleCache(System.Windows.FrameworkElement fe, System.Windows.FrameworkContentElement fce, System.Windows.Style oldStyle, System.Windows.Style newStyle, ref System.Windows.Style styleCache) Unknown
  PresentationFramework.dll!System.Windows.FrameworkElement.OnStyleChanged(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
  WindowsBase.dll!System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, System.Windows.EffectiveValueEntry oldEntry, ref System.Windows.EffectiveValueEntry newEntry, bool coerceWithDeferredReference, bool coerceWithCurrentValue, System.Windows.OperationType operationType) Unknown
  WindowsBase.dll!System.Windows.DependencyObject.InvalidateProperty(System.Windows.DependencyProperty dp, bool preserveCurrentValue) Unknown
  PresentationFramework.dll!System.Windows.FrameworkElement.UpdateStyleProperty() Unknown
  PresentationFramework.dll!System.Windows.FrameworkElement.OnInitialized(System.EventArgs e) Unknown
  Telerik.Windows.Controls.Input.dll!Telerik.Windows.Controls.RadComboBoxItem.OnInitialized(System.EventArgs e) Line 106 C#
  PresentationFramework.dll!System.Windows.FrameworkElement.OnVisualParentChanged(System.Windows.DependencyObject oldParent) Unknown
  PresentationFramework.dll!System.Windows.Controls.ListBoxItem.OnVisualParentChanged(System.Windows.DependencyObject oldParent) Unknown
  PresentationCore.dll!System.Windows.Media.Visual.FireOnVisualParentChanged(System.Windows.DependencyObject oldParent) Unknown
  PresentationCore.dll!System.Windows.Media.Visual.AddVisualChild(System.Windows.Media.Visual child) Unknown
  PresentationCore.dll!System.Windows.Media.VisualCollection.Add(System.Windows.Media.Visual visual) Unknown
  PresentationFramework.dll!System.Windows.Controls.UIElementCollection.AddInternal(System.Windows.UIElement element) Unknown
  PresentationFramework.dll!System.Windows.Controls.Panel.GenerateChildren() Unknown
  PresentationFramework.dll!System.Windows.Controls.Panel.OnItemsChangedInternal(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs args) Unknown
  PresentationFramework.dll!System.Windows.Controls.Panel.OnItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs args) Unknown
  PresentationFramework.dll!System.Windows.Controls.ItemContainerGenerator.OnRefresh() Unknown
  PresentationFramework.dll!System.Windows.Controls.ItemContainerGenerator.OnCollectionChanged(object sender, 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
  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
  WindowsBase.dll!System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, System.Windows.EffectiveValueEntry oldEntry, ref System.Windows.EffectiveValueEntry newEntry, bool coerceWithDeferredReference, bool coerceWithCurrentValue, System.Windows.OperationType operationType) Unknown
  WindowsBase.dll!System.Windows.DependencyObject.InvalidateProperty(System.Windows.DependencyProperty dp, bool preserveCurrentValue) Unknown
  PresentationFramework.dll!System.Windows.Data.BindingExpression.TransferValue(object newValue, bool isASubPropertyChange) Unknown
  PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(int k, System.ComponentModel.ICollectionView collectionView, object newValue, bool isASubPropertyChange) Unknown
  PresentationFramework.dll!MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(object o, string propName) Unknown
  WindowsBase.dll!System.Windows.WeakEventManager.ListenerList<System.ComponentModel.PropertyChangedEventArgs>.DeliverEvent(object sender, System.EventArgs e, System.Type managerType) Unknown
  WindowsBase.dll!System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs args) Unknown
  Telerik.Windows.Controls.dll!Telerik.Windows.Controls.ViewModelBase.OnPropertyChanged(string propertyName) Unknown
> WpfApp180.dll!WpfApp180.MainViewModel.ResetData() Line 44 C#

In Development
Last Updated: 20 Jun 2025 08:20 by ADMIN
Scheduled for 2025 Q3 (August)
GetPerMonitorDPIAwareScaleFactor throws an exception when the parameter visual is null and crashes the application.
Declined
Last Updated: 18 Jun 2025 12:51 by ADMIN

Can be reproduced in the demo:

  • Open the default document in the radrichtextbox demo
  • Activate change tracking (button "Track Changes")
  • Make a modification to the document (delete a paragraph)
  • Hover your mouse over the delete text: the date in the revision info. has always ":00" for the seconds

In our processes, it is very important to know if a change happened before or after another action. If all the revisions have zero seconds, it's impossible to determine the order of the changes when they happened in the same minute.

This is not a new bug introduce in SP2: it was there in SP1.

Unplanned
Last Updated: 18 Jun 2025 04:44 by ADMIN
Nested tables with empty cells are not correctly imported. 
Completed
Last Updated: 17 Jun 2025 12:40 by ADMIN
Release Release 2025.2.521 (2025 Q2)
Created by: Martin Ivanov
Comments: 4
Category: UI for WPF
Type: Feature Request
6

Telerik assemblies needs to be rebuild with a specific key in some redistribution scenarios, so that the assemblies can be bound only to a single WPF application. This is described in the following article: https://docs.telerik.com/devtools/wpf/licensing/protecting-telerik-assembly

Currently, to protect the dlls you need to rebuild the entire source code of Telerik UI for WPF. Sometimes this is not very convenient and it is prompt to errors because several steps should be followed and also few prerequisites should be met.

Consider providing a new mechanism to protect the Telerik assemblies, which is more convenient and gives better protection. 

Unplanned
Last Updated: 17 Jun 2025 07:55 by ADMIN
ADMIN
Created by: Tanya
Comments: 12
Category: UI for WPF
Type: Feature Request
34
Enable the customers to create and modify .pptx (PowerPoint) files . They need processing as well as showing such documents.
Declined
Last Updated: 16 Jun 2025 11:32 by ADMIN
When an initial filter is set via the ColumnFilterDescriptor property of a column, changing the filter's value via the distinct values in the UI causes the control to not be filtered correctly.
Declined
Last Updated: 13 Jun 2025 14:37 by ADMIN

A compilation error occurs in a project that doesn't use any Telerik code, but it references a class library which installs the Telerik.Licensing NuGet package. 

The error message from the class library project is the following:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets(268,9): error MC1000: Unknown build error, 'Cannot resolve dependency to assembly 'Telerik.Licensing.Runtime, Version=1.4.6.0, Culture=neutral, PublicKeyToken=keyhere' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.'

To workaround this, you can add assembly references to the Telerik dlls in the main project (including Telerik.Licensing.Runtime), instead of using NuGet packages.

Alternatively, you can install the Telerik.Licensing NuGet package also in the class library.

<ItemGroup>
	<PackageReference Include="Telerik.Licensing" Version="1.4.*" />
</ItemGroup>

Note that with this approach you will see a message in the output that no license is installed, even if you have one. However, for now (versions from 1.4.6 to 1.4.12, which is the latest at the moment of writting this post), the error won't apply any compile or runtime restrictions on the UI or the functionality.

 

In Development
Last Updated: 13 Jun 2025 05:51 by ADMIN
Scheduled for 2025 Q3 (August)

The vertical scrolling seems to become very slow and even unresponsive, when the following conditions are met:

  • left and right frozen columns count is 0
  • the summary width of all columns is smaller than the width of the RadGridView element

To minimize the issue, you can set the GroupRenderMode property of RadGridView to Nested.

In Development
Last Updated: 13 Jun 2025 05:51 by ADMIN
Scheduled for 2025 Q3 (August)
In a scenario where the RadGridView control utilizes the right frozen columns functionality with the RowIndicatorVisibility="Collapsed", CanUserFreezeColumns="False", and RightFrozenColumnsSplitterVisibility="Visible, cells can become missing while scrolling.
In Development
Last Updated: 13 Jun 2025 05:51 by ADMIN
Scheduled for 2025 Q3 (August)

The RadGridView control hangs when the frozen columns are enabled and the application is resized. The exact resizing depends on the screen resolution and the exact new size. This was originally recreated on a monitor with 1600x900 resolution 125% DPI and the application was maximized (resized from restored to full screen size). The issue occurs in the Fluent theme. Also, the FluentPalette.Palette.ScrollBarsMode static property should be set to Normal.

To work this around, you can overrider the MeasureOverride method of RadGridView and add the following code:

public class CustomGridView: RadGridView
{
    private static readonly PropertyInfo internalColumnsProp = typeof(GridViewDataControl).GetProperty("InternalColumns", BindingFlags.Instance | BindingFlags.NonPublic);
    private static MethodInfo invalidateColumnsMethod;

    protected override Size MeasureOverride(Size availableSize)
    {
        if (EnableRowVirtualization && !double.IsInfinity(availableSize.Height))
        {
            var internalColumns = internalColumnsProp.GetValue(this);
            if (invalidateColumnsMethod == null)
            {
                invalidateColumnsMethod = internalColumns.GetType().GetMethod("InvalidateColumnWidthsCalculation", BindingFlags.Instance | BindingFlags.NonPublic);                     
            }

            invalidateColumnsMethod.Invoke(internalColumns, null);
        }
        return base.MeasureOverride(availableSize);
    }

 

Unplanned
Last Updated: 11 Jun 2025 07:23 by Stefan
Expose API that allows you to add/remove Annotations/IPointerHandler implementations from the PointerHandlersController.
In Development
Last Updated: 10 Jun 2025 14:04 by ADMIN
Scheduled for 2025 Q3 (August)

When the RadScheduleView has a recurring appointment with no end date for its recurrence in certain scenarios multiple errors can be try/catch-ed internally, which leads to a degraded performance. One such scenario is when a recurring appointment with no end date starts before the currently displayed time period, but does not have any occurrences before the displayed time period.

As a workaround, an end date can be added to the recurrence rule of recurring appointments.

1 2 3 4 5 6