Completed
Last Updated: 01 Jul 2024 11:22 by ADMIN
Release 2024.2.701 (Preview)
In a scenario where a modal RadWindow is closed and it is opened via a separate thread, the Host property of the WindowWithNoChromeWindowHost class in the BringIntoFront method may be null, which raises an NRE exception.
Completed
Last Updated: 01 Jul 2024 11:22 by ADMIN
Release 2024.2.701 (Preview)

InvalidOperationException when closing a RadWindow opened on a separated UI thread. The exception message is: "Cannot use a DependencyObject that belongs to a different thread than its parent Freezable."

To work this around, you can merge the Telerik.Windows.Controls.Navigation.xaml dictionary in the Resources of all RadWindow instances open on another thread and then set their Style property to the RadWindowStyle from the merged .xaml dictionary.

<telerik:RadWindow x:Class="WpfApp84.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp84" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
        mc:Ignorable="d"  Height="450" Width="800" Style="{DynamicResource RadWindowStyle}">
    <telerik:RadWindow.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Telerik.Windows.Controls.Navigation;component/Themes/GenericWindows11.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </telerik:RadWindow.Resources>
</telerik:RadWindow>

Completed
Last Updated: 18 Dec 2023 06:53 by ADMIN
Release LIB 2023.3.1218 (18 Dec 2023)
Unwanted focus border appears on maximize and minimize buttons in the titlebar for Windows 11 theme.
Completed
Last Updated: 29 May 2023 10:52 by ADMIN
Release R2 2023
The issue occurs in the following scenario. RadWindow is the MainWindow and a button click opens new RadWindow instances with its Owner set to the MainWindow. You open several child windows and then close them. After closing the last child window, the MainWindows is not activated which brings it behind the previously activated application (lets say Visual Studio, because that was opened during the tests).

To work this around, avoid setting the Owner property of the child RadWindow instances. Or when the last child window is closed, manually activate the MainWindow by calling its Activate() method.
Completed
Last Updated: 19 Jan 2023 14:50 by ADMIN
If you set the WindowState of RadWindow to Maximized before the window was opened, after the window opens you can still see its borders and round corners at the edges of the screen. This happens when you use Windows11 theme under the Windows 11 OS.

The issue resolves when you restore the window to normal state and then get back to maximized.
Completed
Last Updated: 19 Jan 2023 14:50 by ADMIN
Release R1 2023

Switching the Windows 11 theme's color variation to a different one is not correctly applied with the Mica effect. This is present when the Windows 11 version is 22621.

A temporary resolution is to stop the Mica effect by setting the WindowEffectsHelper.BackdropMaterial property on the RadWindow to None

<telerik:RadWindow x:Class="Example.MainWindow" 
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
                xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" 
                xmlns:helpers="clr-namespace:Telerik.Windows.Controls.Theming.Helpers;assembly=Telerik.Windows.Controls" 
                helpers:WindowEffectsHelper.BackdropMaterial="None" 
                Header="RadWindow"> 

An alternative approach would be to use DynamicResource when basing the custom style for the RadWindow on its default one. Also, when changing the color variation, the merged resource dictionaries could be cleared and then merged again. This way, the Mica effect will not have to be turned off.

<telerik:RadWindow  xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="Example.MainWindow"
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                    xmlns:local="clr-namespace:WindowWindows11ThemeTest"
                    mc:Ignorable="d"
                    
                    Style="{DynamicResource RadWindowStyle}"
                    
                    Header="MainWindow" Height="450" Width="800">
private bool isDarkPalette;

private void RadButton_Click(object sender, RoutedEventArgs e)
{
    if (this.isDarkPalette)
    {
        Windows11Palette.LoadPreset(Windows11Palette.ColorVariation.System);
        this.isDarkPalette = false;
    }
    else
    {
        Windows11Palette.LoadPreset(Windows11Palette.ColorVariation.Dark);
        this.isDarkPalette = true;
    }

    this.MergeDictionaries();
}

private void MergeDictionaries()
{
    Application.Current.Resources.MergedDictionaries.Clear();
    Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary()
    {
        Source = new Uri("/Telerik.Windows.Themes.Windows11;component/Themes/System.Windows.xaml", UriKind.RelativeOrAbsolute)
    });
    Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary()
    {
        Source = new Uri("/Telerik.Windows.Themes.Windows11;component/Themes/Telerik.Windows.Controls.xaml", UriKind.RelativeOrAbsolute)
    });
    Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary()
    {
        Source = new Uri("/Telerik.Windows.Themes.Windows11;component/Themes/Telerik.Windows.Controls.Navigation.xaml", UriKind.RelativeOrAbsolute)
    });
}
Completed
Last Updated: 02 Sep 2022 14:08 by ADMIN
Release R3 2022
When using Windows 11 build 22000.795 the Acrylic effect does not apply.
Completed
Last Updated: 11 Jun 2021 12:05 by ADMIN
Release R2 2021 SP
When the value of the IsTopMost property of a RadWindow is changed during runtime and then another RadWindow is shown, an ArgumentOutOfRangeException is thrown.
Completed
Last Updated: 21 May 2021 06:38 by ADMIN
Release LIB 2021.2.525 (25/05/2021)
Setting the dpiAware attribute to True in the app.manifest file is making the WPF application DPI aware. In this case, the resizing of RadWindow doesn't work properly on two monitors with different DPI scale factors.
Completed
Last Updated: 21 May 2021 10:19 by ADMIN
Release LIB 2021.2.525 (25/05/2021)

If you open the window on a specific resolution, maximize it and then change the resolution to a bigger one, the window size is not updated. The window stays in the original resolution of the screen.

To work this around subscribe to the SystemEvents.DisplaySettingsChanged event and reset the WindowState of RadWindow.

public MainWindow() // where MainWindow is RadWindow
{
	InitializeComponent();
	SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
}

private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
{
	if (this.WindowState == WindowState.Maximized)
	{
		this.WindowState = WindowState.Normal;
		this.WindowState = WindowState.Maximized;
	}
}

Completed
Last Updated: 09 Mar 2021 12:29 by ADMIN
Release LIB 2021.1.315
ArgumentOutOfRangeException can be thrown when showing/closing windows in a multi-threaded application. Here's a possible stack trace:

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List`1.RemoveAt(Int32 index)
   at System.Collections.Generic.List`1.Remove(T item)
   at Telerik.Windows.Controls.RadWindowManager.RemoveWindow(WindowBase window)
   at Telerik.Windows.Controls.WindowBase.OnClosed()
   at Telerik.Windows.Controls.RadWindow.OnClosed()
   at Telerik.Windows.Controls.WindowBase.CloseHostImidiately()
   at Telerik.Windows.Controls.WindowBase.TryClose(Boolean shouldCloseHost)
   at Telerik.Windows.Controls.WindowBase.Telerik.Windows.Controls.InternalWindow.IWindowDragAware.TryClose(Boolean shouldCloseHost)
   at Telerik.Windows.Controls.InternalWindow.WindowWithNoChromeWindowHost.OnWindowClosing(Object sender, CancelEventArgs e)
   at System.Windows.Window.OnClosing(CancelEventArgs e)
   at System.Windows.Window.WmClose()
   at System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.PublicHooksFilterMessage(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.WrappedInvoke(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)
Completed
Last Updated: 01 Feb 2021 06:16 by ADMIN
Release LIB 2021.1.201 (2/1/2021)
Completed
Last Updated: 05 Nov 2020 15:12 by ADMIN
Release LIB 2020.3.1109 (11/09/2020)
Changing the ResponseButton through the DefaultFocusedButton property of the DialogParameters does not work in the Office2019 theme.
Completed
Last Updated: 21 Sep 2020 10:56 by ADMIN
Release LIB 2020.3.921 (09/21/2020)
This behavior can be observed when the ResizeMode property of RadWindow is set to CanResizeWithGrip. 
Completed
Last Updated: 21 May 2021 10:19 by ADMIN
Release LIB 2021.2.525 (25/05/2021)
The window is not correctly resized when it is maximized and the taskbar is moved from vertical to horizontal or vice versa 
Completed
Last Updated: 17 Aug 2020 12:24 by ADMIN
Release LIB 2020.2.617
This could appear on virtualization systems like Citrix and Systancia. The exception appears in the TaskbarHelper.GetAppBarData() method.
Completed
Last Updated: 25 Apr 2022 08:53 by ADMIN
Release R2 2020 SP1

If the autohiding feature of the taskbar is enabled and RadWindow is maximized, the taskbar is not displayed when the mouse is over the bottom of the screen.

This is observed also in RadTabbedWindow.

Completed
Last Updated: 20 Jan 2020 07:21 by ADMIN
Release LIB 2020.1.120 (1/20/2020)

Hello,

 

I've found a new bug regarding per-monitor DPI awareness in the latest WPF controls build (2020.1.115).

Applications start fine on the modern Windows 10 systems (1607 or later) but crash on previous Windows versions.

The conditions to reproduce:

  • The application is launched on Windows version older than Windows 10 1607/Windows Server 2016. I've reproduced it on Windows 8.1/Windows Server 2012 R2, but I suppose it also affects Windows 10 1507/1511, and probably Windows 8/Windows Server 2012.
  • Application manifest contains:
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>

Here is the stack trace:

System.EntryPointNotFoundException: Unable to find an entry point named 'GetDpiForSystem' in DLL 'User32.dll'.

   at Telerik.Windows.Controls.InternalWindow.Standard.NativeMethods.GetDpiForSystem()

   at Telerik.Windows.Controls.InternalWindow.Standard.DpiHelper.GetSystemScaleFactor()

   at Telerik.Windows.Controls.InternalWindow.Standard.DpiHelper.CalculateScaleFactor(IntPtr hwnd)

   at Telerik.Windows.Controls.InternalWindow.Standard.DpiHelper.GetPerMonitorDPIAwareScaleFactor(IntPtr hwnd)

   at Telerik.Windows.Controls.InternalWindow.ChromelessWindowHelper.<Initialize>b__81_0(Object sender, EventArgs args)

   at System.Windows.Window.OnSourceInitialized(EventArgs e)

   at System.Windows.Window.CreateSourceWindow(Boolean duringShow)

   at System.Windows.Window.CreateSourceWindowDuringShow()

   at System.Windows.Window.SafeCreateWindowDuringShow()

   at System.Windows.Window.ShowHelper(Object booleanBox)

   at System.Windows.Window.Show()

   at Telerik.Windows.Controls.InternalWindow.WindowWithNoChromeWindowHost.Open(Boolean isModal)

   at Telerik.Windows.Controls.WindowBase.ShowWindow(Boolean isModal)

   at Telerik.Windows.Controls.RadWindow.Show()

   at TelerikWpfCrash.App.OnStartup(StartupEventArgs e) in C:\Users\fedarovich\source\repos\Test\TelerikWpfCrash\TelerikWpfCrash\App.xaml.cs:line 20


The issue happens because the code calls the WinAPI functions not available on these OS versions (for example, GetDpiForSystem, but maybe there are more). 

I've attached a small example to reproduce this issue. It is for .Net Core 3.1, but the same issue exists in .Net Framework too.

Completed
Last Updated: 25 Nov 2019 10:00 by ADMIN
Release LIB 2019.3.1125 (11/25/2019)
This exception is thrown when the CanExecute method of the Command bound to a response button returns false when the response button key is pressed. 
Completed
Last Updated: 13 Nov 2019 15:50 by ADMIN
Release LIB 2019.3.1118
The Window doesn't resize correctly when dragged from the primary monitor (with taskbar) and docked to the top of the screen of a secondary monitor (no taskbar) in order to maximize it and "Show window contents while dragging" Windows system setting is disabled.
1 2 3 4