Completed
Last Updated: 18 Mar 2025 07:42 by ADMIN
Release R2 2023
Created by: Martin Ivanov
Comments: 0
Category: Docking
Type: Feature Request
22
Currently, you can drag and drop panes only in their parent RadDocking control. Allow dragging from one RadDocking to another.
Completed
Last Updated: 6 Mar 2025 13:28 by ADMIN

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]

 

Completed
Last Updated: 24 Feb 2025 10:51 by ADMIN
Release 2025.1.211 (2025 Q1)
Keys in Traditional Chinese On-screen Keyboard are duplicated.
Completed
Last Updated: 12 Feb 2025 15:20 by ADMIN
Release 2025.1.205 (2025 Q1)
NullReferenceException when Type1 font with random bytes count ("lenIV") is set to 0.
Completed
Last Updated: 12 Feb 2025 15:19 by ADMIN
Release 2025.1.205 (2025 Q1)
ADMIN
Created by: Deyan
Comments: 0
Category: PDFViewer
Type: Feature Request
2
This action is usually linked to a Button field and with it, the user of the application may revert all field values to their defaults. 
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

A memory leak occurs when you remove the RadVirtualKeyboard from the view. The control's reference is hold by an internal static collection, which prevents it from being garbage collected.

To work this around, you can use reflection to access the NativeMethods.callbacks static collection and clear it. If you have the SynchronizeCultureWithSystem propety set to True (the default value) you should also cancel the task listens for system culture change.

 private void RemoveKeyboardFromView(RadVirtualKeyboard keyboard)
 {
     var assembly = Assembly.LoadFrom("Telerik.Windows.Controls.Navigation.dll");
     var type = assembly.GetType("Telerik.Windows.Controls.VirtualKeyboard.NativeMethods");
     var field = type.GetField("callbacks", BindingFlags.Static | BindingFlags.NonPublic);
     var cancelationTokenFieldInfo = typeof(RadVirtualKeyboard).GetField("systemCultureTrackingCancellationTokenSource", BindingFlags.Instance | BindingFlags.NonPublic);

     var keyPressedMethodInfo = typeof(RadVirtualKeyboard).GetMethod("KeyPressed", BindingFlags.Instance | BindingFlags.NonPublic);
     var keyPressedCallback = (Action<int, bool>)keyPressedMethodInfo.CreateDelegate(typeof(Action<int, bool>), keyboard);
     var callbacks = (List<Action<int, bool>>)field.GetValue(null);
     callbacks.Remove(keyPressedCallback);
     var cancelationToken = cancelationTokenFieldInfo.GetValue(keyboard) as CancellationTokenSource;
     cancelationToken.Cancel();
 }

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

A SocketException can occur when the ImageInline source is assigned to a link pointing to a picture on a remote server (a website). For example: UriSource ="https://docs.telerik.com/devtools/wpf/knowledge-base/images/kb-chartview-categorical-and-datetime-axis-0.png"

This could happen during the fetching of the image stream. In some cases, the server may give a NetworkStream or ConnectionStream, or similar Stream implementation, which keeps an open connection between the application and the server. If the connection get severed during the stream reading, an exception is thrown. 

The exception message is: "Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."

The stacktrace is:

Exception Info: System.Net.Sockets.SocketException
  at System.Net.Sockets.NetworkStream.Read(Byte[], Int32, Int32)
Inner Exception:
Exception Info: System.IO.IOException
  at System.Net.ConnectStream.Read(Byte[], Int32, Int32)
  at System.IO.Stream.InternalCopyTo(System.IO.Stream, Int32)
  at Telerik.Windows.Documents.Layout.ExtensionMethods.ToMemoryStream(System.IO.Stream)
  at Telerik.Windows.Documents.Model.ImageInline.<SetStreamFromUriSource>b__0(System.Object, StreamReadyEventArgs)
  at Telerik.Windows.Documents.Utils.ResourceStreamLocator.OnStreamReady()
  at System.Net.WebClient.OnOpenReadCompleted(System.Net.OpenReadCompletedEventArgs)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
  at System.Windows.Threading.DispatcherOperation.InvokeImpl()
  at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
  at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
  at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
  at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
  at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
  at System.Windows.Threading.DispatcherOperation.Invoke()
  at System.Windows.Threading.Dispatcher.ProcessQueue()
  at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
  at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
  at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
  at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
  at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
  at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
  at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
  at System.Windows.Application.RunDispatcher(System.Object)
  at System.Windows.Application.RunInternal(System.Windows.Window)

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

When using French culture (fr-CH), one cannot input more than 4 digits. This is because the thousand separator is set to NarrowNonBreakableSpace. 

Possible workaround, use NonBreakableSpace.

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)
Created by: Jason
Comments: 0
Category: RichTextBox
Type: Bug Report
2
Shape text is not exported to PDF.
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

ArgumentException is thrown on mouse up, after using the DrawTool or ShapeTool in RadImageEditor or RadImageEditorUI.

The exception message is: "'∞' is not a valid value for property 'Width'."

The stacktrace is:

System.ArgumentException: '8' is not a valid value for property 'Width'.
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at Telerik.Windows.Media.Imaging.Commands.DrawCommand.Execute(RadBitmap source, Object context)
   at Telerik.Windows.Media.Imaging.History.ImageHistory.Execute(IImageCommand command, Object context)
   at Telerik.Windows.Controls.RadImageEditor.ExecuteCommand(IImageCommand command, Object context)
   at Telerik.Windows.Controls.RadImageEditor.CommitTool(Boolean executeSameToolAfterCommit)
   at Telerik.Windows.Media.Imaging.Tools.DrawToolBase.InvokeEndDraw(Point point)
   at Telerik.Windows.Media.Imaging.Tools.DrawToolBase.DrawingCanvas_MouseLeftButtonUp(Object sender, MouseButtonEventArgs e)

To work this around, you can create a custom DrawCommand based on the code from the default one and then replace it in the ShapeTool and DrawTool.

public class CustomDrawTool : DrawTool
{
    public override IImageCommand GetCommand()
    {
        return new CustomDrawCommand();
    }
}

public class CustomShapeTool : ShapeTool
{
    public override IImageCommand GetCommand()
    {
        return new CustomDrawCommand();
    }
}

public class CustomDrawCommand : IImageCommand
{
    public RadBitmap Execute(RadBitmap source, object context)
    {
        DrawCommandContext drawCommandContext = context as DrawCommandContext;
        if (drawCommandContext == null || drawCommandContext.DrawnPath == null)
        {
            return source;
        }

        Canvas canvas = new Canvas();

        canvas.ClipToBounds = true;
        var dpiXFactor = source.Bitmap.DpiX / 96;
        var dpiYFactor = source.Bitmap.DpiY / 96;

        double imageWidth = source.Width / dpiXFactor;
        if (imageWidth == double.PositiveInfinity)
        {
            imageWidth = source.Width;
        }
        double imageHeight = source.Height/ dpiYFactor;
        if (imageHeight == double.PositiveInfinity)
        {
            imageHeight = source.Height; 
        }

        canvas.Children.Add(new System.Windows.Controls.Image()
        {
            Source = source.Bitmap,
            Width = imageWidth,
            Height = imageHeight,
        });

        Panel parent = drawCommandContext.DrawnPath.Parent as Panel;
        if (parent != null)
        {
            parent.Children.Remove(drawCommandContext.DrawnPath);
            drawCommandContext.DrawnPath.RenderTransform = new ScaleTransform(1 / dpiXFactor, 1 / dpiYFactor);
            canvas.Children.Add(drawCommandContext.DrawnPath);
        }

        RenderOptions.SetBitmapScalingMode(canvas, BitmapScalingMode.NearestNeighbor);
        BitmapSource bitmapSource = this.GetBitmapSource(source.Width, source.Height, canvas, source.Bitmap.DpiX, source.Bitmap.DpiY);
        return new RadBitmap(bitmapSource);
    }

    private BitmapSource GetBitmapSource(int width, int height, Canvas canvas, double dpiX, double dpiY)
    {
        Size size = new Size(width, height);
        canvas.Measure(size);
        canvas.Arrange(new Rect(size));
        RenderTargetBitmap renderBitmap = new RenderTargetBitmap(width, height, dpiX, dpiY, PixelFormats.Pbgra32);
        renderBitmap.Render(canvas);
        return renderBitmap;
    }
}

To use the custom tools in RadImageEditorUI, you will need to use them as CommandParameter in the ImageToolItem.

  <telerik:ImageToolItem ImageKey="Draw" telerik:LocalizationManager.ResourceKey="ImageEditor_Draw" Command="commands:ImageEditorRoutedCommands.ExecuteTool">
      <telerik:ImageToolItem.CommandParameter>
          <local:CustomDrawTool />
      </telerik:ImageToolItem.CommandParameter>
  </telerik:ImageToolItem>

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

The GridViewSelectColumn displays a CheckBox in its header, which selects all rows in the column. If the CheckBox is unchecked, and you click it to check the items, the items get selected/checked. However, the CheckBox doesn't get check until the second click.

This reproduces only when the RadGridView is grouped and also the groups are collapsed so that no data records are visible.

To work this around, you can replace the default CheckBox with a new one in the column's Header. Then, manually select and deselect the items. You can use the CheckBox MouseLeftButtonDown or Checked/Unchecked events. Note that it is important to wrap the CheckBox in the Header, in another control (like a Grid in the example below), in order to avoid the default RadGridView logic to kick-in.

  <telerik:GridViewSelectColumn>
      <telerik:GridViewSelectColumn.Header>
          <Grid>
              <CheckBox PreviewMouseLeftButtonDown="CheckBox_PreviewMouseLeftButtonDown"/>
          </Grid>
      </telerik:GridViewSelectColumn.Header>
  </telerik:GridViewSelectColumn>


 private void CheckBox_PreviewMouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
 {
     var checkBox = (CheckBox)sender;            
     if (checkBox.IsChecked.Value)
     {
         this.GridView.SelectedItems.Clear();
     }
     else
     {
         this.GridView.SelectAll();
     }
 }

 

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)
ArgumentOutOfRangeException when PDFViewer is loaded async and one scrolls for some time.
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

When using the RadToggleSwitchButton and the CheckedContent and UncheckedContent properties are not utilized, in some themes, the on and off states cannot be correctly distinguished. For example, the track or the thumb does not indicate whether the button is checked or not.

Themes, in which this is present are the following ones:

  • Material
  • Office2013
  • Windows8 and Windows8Touch
  • OfficeBlack, OfficeBlue, and OfficeSilver 
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

When the RadGridView is filtered you can get all items in the data view using the Items collection property of the control. The count can be accessed with the gridView.Items.Count property.

If the RadGridView is grouped and then filtered, the Items.Count no longer returns the correct value. The count doesn't take into account the items that are in collapsed groups. Instead the count contains only the expanded group objects.

To work this around, use the following code instead of gridView.Items.Count.

int count = gridView.Items.OfType<object>().Count(); 

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)
The foreground of the RadRibbonBackstageItem when IsGroupSeparator="True" is not updated when changing the theme's variation.
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)
The dropdown remains opened when switching the window with Alt+Tab.
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

The selection with the Shift key when SelectionMode=Extended no longer works in the default Nested rendering mode of RadGridView. This reproduces only when the data view is grouped.

To work this around, set the GroupRenderMode property of RadGridView to Flat.

<telerik:RadGridView GroupRenderMode="Flat" />

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)

ArgumentExeption when typing a specific combination with the new Japanese IME. 

Steps to reproduce:

  1. make sure new IME is used.
  2. Type "bcd" + space + "t -> argument exception occurs. 

Expected should work like in the standard text box.

Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)
When committing the text, the automatic underline should be removed from the content. However, it is preserved for all spans inserted with the IME.
Completed
Last Updated: 11 Feb 2025 07:40 by ADMIN
Release 2025.1.211 (2025 Q1)
The GridViewCheckBox element is not affected by the compact mode of the Windows 11 theme.
1 2 3 4 5 6