Missing types regarding GridViewColumns cause exceptions when saving:
Workaround
Add the types manually:
radGridView.ItemsSource = sampleData;
manager.AllowGridViewControls();
manager.AllowedTypes.Add(typeof(GridViewToggleRowDetailsColumn));
manager.AllowedTypes.Add(typeof(GridViewDataColumn));
manager.AllowedTypes.Add(typeof(DependencyObject));
manager.AllowedTypes.Add(typeof(Size));
manager.AllowedTypes.Add(typeof(SizeConverter));
var gridViewColumnType = typeof(Telerik.Windows.Controls.GridViewColumn);
var assembly = gridViewColumnType.Assembly;
// Get the internal type by its full name
var internalType = assembly.GetType("Telerik.Windows.Controls.GridViewColumnCollectionInternal", throwOnError: false);
// Use the type as needed (for example, add to AllowedTypes if required)
if (internalType != null)
{
manager.AllowedTypes.Add(internalType);
}
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>
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();
}
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.
MF_E_SHUTDOWN error occurs in some cases when the camera MediaFoundation resources get released. This may happen on unloaded or initialized of the RadWebCam control.
Here is one of the exception stacktraces that may be observed:
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Exception: Stop failed: MF_E_SHUTDOWN
at Telerik.Windows.MediaFoundation.MediaFoundationHelper.ThrowOnHResultError(HResult hr, HResult expected, String message)
at Telerik.Windows.MediaFoundation.BaseMediaFoundationPresenter.StopSession()
at Telerik.Windows.Controls.RadWebCam.<Stop>b__38_0()
** Fixed with Telerik.Licensing 1.4.16 **
The build performance with new license validation (2025) is very poor. 2025 version takes about 5 sec. extra time to build. For small projects it takes 10x longer.
Test environment:
Build times depending on the Version of Telerik Nuget:
<PackageReference Include="Telerik.Windows.Controls.Navigation.for.Wpf" Version="2025.1.211" />
11:25:47:071 Build started at 11:25...
11:25:47:189 1>------ Build started: Project: TelerikBuildTest, Configuration: Debug Any CPU ------
11:25:51:748 1>[Telerik and Kendo UI Licensing]
11:25:51:748 1> Telerik and Kendo UI License Key found at: C:\Users\...\AppData\Roaming\Telerik\telerik-license.txt (UserDirectory)
11:25:51:748 1> License issued at 2025-03-16 to e**********@....
11:25:51:748 1>[Telerik and Kendo UI Licensing]
11:25:51:748 1> Valid Telerik UI for WPF license found.
11:25:52:743 1>[Telerik and Kendo UI Licensing]
11:25:52:743 1> Telerik and Kendo UI License Key found at: C:\Users\...\AppData\Roaming\Telerik\telerik-license.txt (UserDirectory)
11:25:52:743 1> License issued at 2025-03-16 to e**********@...
11:25:52:743 1>[Telerik and Kendo UI Licensing]
11:25:52:743 1> Valid Telerik UI for WPF license found.
11:25:52:815 1>TelerikBuildTest -> C:\Users\....\source\repos\TelerikBuildTest\TelerikBuildTest\bin\Debug\net8.0-windows\TelerikBuildTest.dll
11:25:52:828 ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
11:25:52:828 ========== Build completed at 11:25 and took 05,892 seconds ==========
<PackageReference Include="Telerik.Windows.Controls.Navigation.for.Wpf" Version="2024.4.1213" />
11:26:33:405 Build started at 11:26...
11:26:33:581 1>------ Build started: Project: TelerikBuildTest, Configuration: Debug Any CPU ------
11:26:33:953 1>TelerikBuildTest -> C:\Users\...\source\repos\TelerikBuildTest\TelerikBuildTest\bin\Debug\net8.0-windows\TelerikBuildTest.dll
11:26:33:960 ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
11:26:33:960 ========== Build completed at 11:26 and took 00,633 seconds ==========
NullReferenceException occurs when the the automation peers creation for the rows goes over 10,000 peers (the MaxCachedPeersSize setting of the GridViewDataControlAutomationPeer). The exception occurs only when the 'record' modifier is used in the class definition. For example:
public record class MyClass(int Id)
{
}
The exception stacktrace is:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
peer was null.
Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Automation.Peers.GridViewDataControlAutomationPeer.ClearPeer(Telerik.Windows.Automation.Peers.DataItemAutomationPeer peer) Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Automation.Peers.GridViewDataControlAutomationPeer.GetOrCreateItemPeer(object item, int index) Line 288 C# Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Automation.Peers.GridViewRowAutomationPeer.FindDataItemAutomationPeer(System.Collections.Generic.List<System.Windows.Automation.Peers.AutomationPeer> childPeers) Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Automation.Peers.GridViewRowAutomationPeer.GetChildrenCore()
.
To work this around use the "class" modifier instead of "record". For example, instead of:
public record class MyClass(int Id)
{
}
Use:
public class MyClass
{
public int Id { get; set; }
}
Or alternatively, increase the MaxCachedPeersSize value.
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#
Currently, the DataFormatString property of the columns is applied only to the top-level rows and not to the child ones.
To work this around, create a new DataTemplate for the CellTemplate property of the column and set the StringFormat property of the Binding instance for the element that will be used to display the cell's value in view mode.
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding MyPropertyValue, StringFormat=N2}"/>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
The operating system region and language needs to be set to Japanese.
RichTextBox seems to have several issues with Japanese, but being locked from visibility or edit is the biggest one.
To recreate, start typing in Japanese, push the "right" arrow after selecting the IME option desired, then hit "spacebar." This seems to duplicate the text, then when trying to continue to type into the text field the text is no longer visible (yet the IME does display).
The native WPF RichTextBox has no issues (and also supports partial selection, etc.).
I've attached a video to show the behavior with 2025 Q1 telerik.
*note:* This is on a machine with NVIDIA graphics. I mention this as there may be some issues with RichTextBox and the hardware... When I'm in a virtual machine with a completely Japanese environment and virtual graphics driver, there is NO text visible at all when trying to type into the RichTextBox. Works fine with other controls and wpf RichTextBox.
NullReferenceException is thrown when the RadVirtualKeyboard control gets loaded, but it is not added to the visual tree. This skips the initialization of an internal collection which is used on Loaded, thus throwing the error.
To work this around, you can manually call the OnApplyTemplate method of RadVirtualKeyboard before it gets loaded.
virtualKeyboard.OnApplyTemplate();
// ***********************************************************************
// some other content here
// some other content here
// ***********************************************************************
public class TestClass
{
}
Fixed in Telerik.Licensing NuGet package version 1.4.10. Install this (or later) version of the package to avoid the issue.
Build errors may occur in situation where you have two projects one depending on the other, and the main project installs the Telerik.Licensing nuget package. The package triggers a set of MSBuild taks and at some point an IncrementalClean is invoked, which deletes some of the files and errors occur during the build.
The error message that can occur:
CSC : error CS0006: Metadata file 'dll/file/path/here.dll' could not be found [project directory path here]
The following exception is raised when adding a ColumnGroupDescriptor to the GroupDescriptors property of a RadGridView. This bug is data specific and I've only been able to duplicate it with a large data set but the issue seems like it could be addressed without the actual data, given that the code causing the issue is apparently passing a pixelWidth < 0.
System.ArgumentOutOfRangeException: 'The parameter value must be greater than zero.
Parameter name: pixelWidth'