Unplanned
Last Updated: 10 Feb 2025 13:10 by Martin Ivanov

The issue reproduces when track changes is enabled and new text is entered. After waiting some time and pressing the Backspace on the keyboard in order to delete a character, nothing happens. You should press the Backspace a second time in order to make the deletion work. After that you can delete the content normally. 

The waiting time before pressing the Backspace is usually until the next minute of the clock comes. For example, you can write something at 14:55 and wait until 14:56. Then, press Backspace.

If you check the Output pane of Visual Studio you will see the following assertion failure message printed:

---- DEBUG ASSERTION FAILED ----
at Telerik.Windows.Documents.Model.RadDocumentEditor.DeleteTrackChanges(Boolean deletePrevious) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\Model\RadDocumentEditor_Editing.cs:line 693
at Telerik.Windows.Documents.Model.RadDocumentEditor.Delete(Boolean deletePrevious) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\Model\RadDocumentEditor_Editing.cs:line 85
at Telerik.Windows.Controls.RadRichTextBox.Telerik.Windows.Documents.Model.IDocumentEditor.Delete(Boolean deletePrevious) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\UI\RadRichTextBox.cs:line 4890
at Telerik.Windows.Controls.RadRichTextBox.Delete(Boolean deletePrevious) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\UI\RadRichTextBox.cs:line 4866
at Telerik.Windows.Documents.RichTextBoxCommands.DeleteCommand.ExecuteOverride(Object parameter) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\RichTextBoxCommands\DeleteCommand.cs:line 57
at Telerik.Windows.Documents.RichTextBoxCommands.RichTextBoxCommandBase.Execute(Object parameter, Boolean focusCaret) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\RichTextBoxCommands\RichTextBoxCommandBase.cs:line 316
at Telerik.Windows.Documents.RichTextBoxCommands.RichTextBoxCommandBase.Execute(Object parameter) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\RichTextBoxCommands\RichTextBoxCommandBase.cs:line 285
at Telerik.Windows.Documents.RichTextBoxCommands.RichTextBoxRoutedCommand.Execute(Object parameter, RadRichTextBox radRichTextBox) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\RichTextBoxCommands\RoutedCommands\RichTextBoxRoutedCommand.cs:line 57
at Telerik.Windows.Documents.RichTextBoxCommands.RichTextBoxRoutedCommand.CommandBindingHelper.CommandBinding_Executed(Object sender, ExecutedRoutedEventArgs e) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\RichTextBoxCommands\RoutedCommands\RichTextBoxRoutedCommand.cs:line 17
at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.UIElement.OnExecutedThunk(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object target)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
at System.Windows.Input.RoutedCommand.Execute(Object parameter, IInputElement target)
at System.Windows.Input.RoutedCommand.System.Windows.Input.ICommand.Execute(Object parameter)
at Telerik.Windows.Documents.UI.Extensibility.DefaultInputHandler.HandleInput(RadRichTextBox richTextBox, PreviewEditorKeyEventArgs e) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\RichTextBoxCommands\RoutedCommands\DefaultInputHandler.cs:line 54
at Telerik.Windows.Controls.RadRichTextBox.HandlePresenterKeyDown(PreviewEditorKeyEventArgs e) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\UI\RadRichTextBox.cs:line 4612
at Telerik.Windows.Documents.UI.DocumentPresenterBase.HandleKeyDown(KeyEventArgs e) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\UI\DocumentPresenterBase.cs:line 859
at Telerik.Windows.Documents.UI.DocumentPresenterBase.OnPreviewKeyDown(KeyEventArgs e) in C:\PersonalFiles\Git\wpf\Controls\RichTextBox\Core\UI\DocumentPresenterBase.cs:line 805

In Development
Last Updated: 10 Feb 2025 09:20 by ADMIN

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)

Unplanned
Last Updated: 07 Feb 2025 23:17 by John
The FilteringControl of a column filters a wrong column when an ItemPropertyInfo is inserted at runtime. The newly inserted property info should create a column placed between other columns (not at the end of the view). The new column filtering is wrong.
In Development
Last Updated: 07 Feb 2025 15:17 by ADMIN
Created by: Jason
Comments: 0
Category: RichTextBox
Type: Bug Report
2
Shape text is not exported to PDF.
In Development
Last Updated: 07 Feb 2025 14:47 by ADMIN

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.

Pending Review
Last Updated: 06 Feb 2025 08:47 by Jan
Created by: Jan
Comments: 0
Category: UI for WPF
Type: Bug Report
0

After upgrading to .net 9 I get the following error when starting the published program (running it in RIDER in debug-mode doesn't create the issue).

(The issue might be similar to: https://feedback.telerik.com/wpf/1670420-typeinitializationexception-in-telerik-windows-input-touch-touchmanager-with-net-9 )

 

Application: Rueckrufdatenbank.exe
CoreCLR Version: 9.0.124.61010
.NET Version: 9.0.1
Description: The process was terminated due to an unhandled exception.
Exception Info: Prism.Ioc.ContainerResolutionException: An unexpected error occurred while resolving 'Rueckrufdatenbank.Views.MainWindow'
 ---> Unity.ResolutionFailedException: Resolution failed with error: Exception has been thrown by the target of an invocation.

For more detailed information run Unity in debug mode: new UnityContainer().AddExtension(new Diagnostic())
 ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Windows.Markup.XamlParseException: Bei der Initialisierung von "Telerik.Windows.Controls.RadRibbonButton" wurde eine Ausnahme ausgelöst.
 ---> System.Xaml.XamlObjectWriterException: Beim Festlegen der Eigenschaft "System.Windows.ResourceDictionary.Source" wurde eine Ausnahme ausgelöst.
 ---> System.Windows.Markup.XamlParseException: Beim Festlegen der Eigenschaft "System.Windows.ResourceDictionary.DeferrableContent" wurde eine Ausnahme ausgelöst.
 ---> System.Xaml.XamlObjectWriterException: Fehler beim Erstellen von "ElementType" aus dem Text "Button".
 ---> System.IO.FileNotFoundException: Could not load file or assembly 'WindowsFormsIntegration, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Das System kann die angegebene Datei nicht finden.
File name: 'WindowsFormsIntegration, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at System.Reflection.RuntimeAssembly.InternalLoad(AssemblyName assemblyName, StackCrawlMark& stackMark, AssemblyLoadContext assemblyLoadContext, RuntimeAssembly requestingAssembly, Boolean throwOnFileNotFound)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at System.Windows.Baml2006.Baml2006SchemaContext.ResolveAssembly(BamlAssembly bamlAssembly)
   at System.Windows.Baml2006.Baml2006SchemaContext.GetAssembly(Int16 assemblyId)
   at System.Windows.Baml2006.Baml2006SchemaContext.EnsureXmlnsAssembliesLoaded(String xamlNamespace)
   at System.Windows.Baml2006.Baml2006SchemaContext.GetXamlType(String xamlNamespace, String name, XamlType[] typeArguments)
   at MS.Internal.Xaml.XamlContext.GetXamlType(XamlTypeName typeName, Boolean returnUnknownTypesOnFailure, Boolean skipVisibilityCheck)
   at MS.Internal.Xaml.XamlContext.ResolveXamlType(String qName, Boolean skipVisibilityCheck)
   at MS.Internal.Xaml.Context.ObjectWriterContext.ServiceProvider_Resolve(String qName)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateObjectWithTypeConverter(ServiceProviderContext serviceContext, XamlValueConverter`1 ts, Object value)
   at System.Xaml.XamlObjectWriter.Logic_CreateFromValue(ObjectWriterContext ctx, XamlValueConverter`1 typeConverter, Object value, XamlMember property, String targetName, IAddLineInfo lineInfo)
   --- End of inner exception stack trace ---
   at System.Xaml.XamlObjectWriter.Logic_CreateFromValue(ObjectWriterContext ctx, XamlValueConverter`1 typeConverter, Object value, XamlMember property, String targetName, IAddLineInfo lineInfo)
   at System.Xaml.XamlObjectWriter.Logic_CreatePropertyValueFromValue(ObjectWriterContext ctx)
   at System.Xaml.XamlObjectWriter.WriteEndMember()
   at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)
   at System.Windows.ResourceDictionary.EvaluateMarkupExtensionNodeList(XamlReader reader, IServiceProvider serviceProvider)
   at System.Windows.ResourceDictionary.SetKeys(IList`1 keyCollection, IServiceProvider serviceProvider)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
   --- End of inner exception stack trace ---
   at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
   at MS.Internal.AppModel.AppModelKnownContentFactory.BamlConverterCore(Stream stream, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation, XamlReader& asyncObjectConverter, Boolean isUnsafe)
   at MS.Internal.AppModel.MimeObjectFactory.GetObjectAndCloseStreamCore(Stream s, ContentType contentType, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation, XamlReader& asyncObjectConverter, Boolean isUnsafe)
   at System.Windows.ResourceDictionary.set_Source(Uri value)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
   --- End of inner exception stack trace ---
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
   at MS.Internal.Xaml.Runtime.PartialTrustTolerantRuntime.SetValue(Object obj, XamlMember property, Object value)
   at System.Xaml.XamlObjectWriter.Logic_ApplyPropertyValue(ObjectWriterContext ctx, XamlMember prop, Object value, Boolean onParent)
   at System.Xaml.XamlObjectWriter.Logic_DoAssignmentToParentProperty(ObjectWriterContext ctx)
   at System.Xaml.XamlObjectWriter.WriteEndMember()
   at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)
   at System.Windows.SystemResources.ResourceDictionaries.LoadDictionary(Assembly assembly, String assemblyName, String resourceName, Boolean isTraceEnabled, Uri& dictionarySourceUri)
   at System.Windows.SystemResources.ResourceDictionaries.LoadGenericDictionary(Boolean isTraceEnabled)
   at System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
   at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
   at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
   at System.Windows.FrameworkElement.UpdateThemeStyleProperty()
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   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.Controls.Theme.DefaultStyleKeyHelper.SetDefaultStyleKey(Control control, Object value)
   at Telerik.Windows.Controls.StyleManager.SetDefaultStyleKey(Control control, Type controlType)
   at Telerik.Windows.Controls.RadButton.OnInitialized(EventArgs e)
   at Telerik.Windows.Controls.RadRibbonButton.OnInitialized(EventArgs e)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
   --- End of inner exception stack trace ---
   at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at Rueckrufdatenbank.Views.MainWindow.InitializeComponent() in C:\GitLocal\Rueckrufdatenbank\Rueckrufdatenbank\Views\MainWindow.xaml:line 1
   at Rueckrufdatenbank.Views.MainWindow..ctor() in C:\GitLocal\Rueckrufdatenbank\Rueckrufdatenbank\Views\MainWindow.xaml.cs:line 13
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)
   at Unity.Processors.ConstructorProcessor.<>c__DisplayClass16_0.<GetResolverDelegate>b__0(BuilderContext& c)
   at Unity.Processors.MemberProcessor`2.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c)
   at Unity.Processors.MemberProcessor`2.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c)
   at Unity.Processors.MemberProcessor`2.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c)
   at Unity.UnityContainer.<>c__DisplayClass113_0.<OptimizingFactory>b__0(BuilderContext& c)
   at Unity.Strategies.BuildPlanStrategy.PreBuildUp(BuilderContext& context)
   at Unity.UnityContainer.<>c.<.ctor>b__73_1(BuilderContext& context)
   --- End of inner exception stack trace ---
   at Unity.UnityContainer.<>c.<.ctor>b__73_1(BuilderContext& context)
   at Unity.UnityContainer.Unity.IUnityContainer.Resolve(Type type, String name, ResolverOverride[] overrides)
   at Prism.Unity.UnityContainerExtension.Resolve(Type type, ValueTuple`2[] parameters)
   --- End of inner exception stack trace ---
   at Prism.Unity.UnityContainerExtension.Resolve(Type type, ValueTuple`2[] parameters)
   at Prism.Unity.UnityContainerExtension.Resolve(Type type)
   at Prism.Ioc.IContainerProviderExtensions.Resolve[T](IContainerProvider provider)
   at Rueckrufdatenbank.App.CreateShell() in C:\GitLocal\Rueckrufdatenbank\Rueckrufdatenbank\App.xaml.cs:line 67
   at Prism.PrismApplicationBase.Initialize()
   at Prism.PrismApplicationBase.InitializeInternal()
   at Prism.PrismApplicationBase.OnStartup(StartupEventArgs e)
   at Rueckrufdatenbank.App.OnStartup(StartupEventArgs e) in C:\GitLocal\Rueckrufdatenbank\Rueckrufdatenbank\App.xaml.cs:line 75
   at System.Windows.Application.<.ctor>b__1_0(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at Rueckrufdatenbank.App.Main()


Unplanned
Last Updated: 04 Feb 2025 09:44 by Martin Ivanov
In Development
Last Updated: 03 Feb 2025 12:38 by ADMIN

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>

In Development
Last Updated: 03 Feb 2025 12:02 by ADMIN

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();
 }

Unplanned
Last Updated: 03 Feb 2025 10:39 by ADMIN

Exception when resizing column with width set to star and min-width set to 0.

Set the properties to the above and resize a column to 0 and then to the original width -> an exception occurs.

 

In Development
Last Updated: 31 Jan 2025 15:10 by ADMIN
Scheduled for 2025 Q1 (February)
ArgumentOutOfRangeException when PDFViewer is loaded async and one scrolls for some time.
In Development
Last Updated: 31 Jan 2025 08:09 by ADMIN
Scheduled for 2025 Q1 (February)
When committing the text, the automatic underline should be removed from the content. However, it is preserved for all spans inserted with the IME.
In Development
Last Updated: 31 Jan 2025 08:09 by ADMIN
Scheduled for 2025 Q1 (February)
IME: Cannot type in RadRichTextBox using Microsoft Pinyin Input Method (Chinese)
In Development
Last Updated: 31 Jan 2025 08:09 by ADMIN
Scheduled for 2025 Q1 (February)
The text is not committed and is still in edit mode when the control loses focus. The partial commit of content is not working as well.
Completed
Last Updated: 30 Jan 2025 19:48 by ADMIN
Release 2024.4.1213
Created by: Anthony
Comments: 10
Category: Map
Type: Bug Report
0

Hello, I get KeyNotFoundException (ConcurrentDictionary) error in RemoveTile method:

Telerik.Windows.Controls.Map.TilesDownloadManager:

  • private void Dispose() 
  • private void RemoveL1Cache() 
  • private void RemoveTile(TileId key)

I wrote about it here: https://feedback.telerik.com/wpf/1656461-keynotfoundexception-when-zooming-in
But in version 2024.4.1111 only 1 problem was fixed...

ConcurrentDictionary<TileId, TileSource> requests may not contain TileId key in RemoveTile.

Can you fix this in the next release?

Declined
Last Updated: 30 Jan 2025 19:40 by ADMIN
Created by: wu
Comments: 1
Category: NotifyIcon
Type: Bug Report
1

The pop-up content is not displayed in the bottom right corner, but in the top left corner, and can not show balloon.

Screen resolution: 4K

Window size: 15.6 inches

Operating System: Windows 11

Run:From Microsoft Store App telerik WPF controls.

 

 

Declined
Last Updated: 30 Jan 2025 19:34 by ADMIN
Created by: Romain
Comments: 1
Category: UI for WPF
Type: Feature Request
0

Hi,

it would be convenient to add an extra small font size to te existing enumerations. For instance in Windows 11 theme, could it be possible to add a XS size:

Windows11Palette.Palette.FontSizeXS = 10;
Windows11Palette.Palette.FontSizeS = 12; 
Windows11Palette.Palette.FontSize = 14; 
Windows11Palette.Palette.FontSizeM = 18; 
Windows11Palette.Palette.FontSizeL = 20; 
Windows11Palette.Palette.FontSizeXL = 28; 

Having a range in the bigger font sizes is very useful. It owuld be equally helpful to have a range on the smaller font.

Thank you for considering it :)

Unplanned
Last Updated: 30 Jan 2025 19:33 by ADMIN
Multiline Selection Highlight is distorted when using Japanese IME (GIF attached). 
In Development
Last Updated: 30 Jan 2025 14:37 by ADMIN
When RadRichTextBox for WPF is hosted in a WinForms application (through ElementHost), typing with Japanese IME duplicates the typed letters, which makes the control unusable with the default behavior.

Possible workaround: Create custom caret. There are some suggestions in this forum thread: https://www.telerik.com/forums/richtextbox-doesn't-support-japanese-ime-when-hosted-in-winforms
Unplanned
Last Updated: 30 Jan 2025 08:54 by Stenly

For the German language translations, the following resource keys are translated into Dutch instead:

  • Spreadsheet_PrintPreview_FitSheetOnOnePage
  • Spreadsheet_PrintPreview_FitSheetOnOnePage_Description
  • Spreadsheet_PrintPreview_FitColumnsOnOnePage
  • Spreadsheet_PrintPreview_FitColumnsOnOnePage_Description
  • Spreadsheet_PrintPreview_FitRowsOnOnePage
  • Spreadsheet_PrintPreview_FitRowsOnOnePage_Description
1 2 3 4 5 6