Place Expander as content in RadWindow. Once expanded, the SizeToContent feature stops working as expected. Available in the 2015 Q3 Release.
Property for example.
If you have set SizeToContent of RadWindow to true and you use one of the following options, SizeToContent will not work. - UseLayoutRounding = true - TextOptions.SetTextFormattingMode(dialog, TextFormattingMode.Display); Available in the 2015 Q3 Release.
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>
The default dialogs for the WPF RadWindow (Prompt, Alert, Confirm) do not seem to allow sizing of the content of the message. I have tried imbedding controls to set width and maxwidth, but I need to use a MaxWidth to prevent horizontal scrollbars. Ideally a Maxwidth parameter would be available allowing longer text message to spread out. The code below works, but I'm restricted to a narrow dialog. Dim Scroller As New ScrollViewer Dim TextBlk As New Controls.TextBlock() With Scroller .HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled .VerticalScrollBarVisibility = ScrollBarVisibility.Auto If Owner IsNot Nothing Then .MaxHeight = (WPFScreen.GetScreenFromElement(Owner).WorkingArea.Height - 100) 'Do not use entire height Else .MaxHeight = (WPFScreen.Primary.WorkingArea.Height - 300) 'Do not use entire height End If With TextBlk .Margin = New Thickness(10) .TextWrapping = TextWrapping.Wrap .Text = Message 'We seem to be stuck with a fixed width available for our text. 'If this is increased a horizontal scrollbar appears. .MaxWidth = 230 End With .Content = TextBlk 'Put textblock in scroller End With Dim RadDialog As New DialogParameters With RadDialog .Content = Scroller .DefaultPromptResultValue = DefaultValue 'Default prompt result .DialogStartupLocation = DialogStartupLocation .Header = Header .IconContent = IconContent If ThemeName.ToLower <> "expression_dark" Then ' *NoLoc* .ModalBackground = m_SPIBackgroundBrush End If .Owner = Owner .Closed = New EventHandler(Of WindowClosedEventArgs)(AddressOf OnPromptClosed) 'Reference handler for response '.ContentStyle '.WindowStyle End With RadWindow.Prompt(RadDialog)
Hi,
Please see attached project,
After use animation changed window size and use the mouse to drag to change the size of the window,
When the window size is smaller than the original size, the upper right button will be hide,
Original WPF Window no this problem, And changing size animation very Smooth then RadWIndow.
Tested with 16.8.4 - works as expected. Updated to 16.9.0 to match the client's setup and managed to reproduce the issue. The issue is reproducible also with the 16.10.0 version of Visual Studio.
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:
<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.
Hi,
our company is slowly rolling out high-DPI laptops to our users. On such devices, Windows automatically enables DPI scaling, using a value of 125% or 150%, depending on the screen's resolution. In combination with an external (unscaled) monitor, this causes our application, to appear blurry on the scaled screen.
Windows has built-in functionality to reduce the blurring, however, this only works on the main screen. If you connect a secondary screen and set that as your main screen, the application will always appear blurry on the laptop screen.
My understanding of the topic is that WPF is DPI aware - but on the system level. So it does not cope well with monitors that have different DPI settings. However, I found a tutorial on Microsoft Docs (https://docs.microsoft.com/en-gb/windows/win32/hidpi/declaring-managed-apps-dpi-aware?redirectedfrom=MSDN), hinting that it is possible to make WPF windows per-monitor DPI aware. Unfortunately, this workaround requires you to inherit your window class from their utility class.
Since all of our windows already inherit from RadWindow, I have no chance to include this without copying either their base class or RadWindow. Having RadWindow support per-monitor DPI awareness would be a great feature to have. Or is there already a way to support this?
Best Regards,
Simon Müller
Hofmann Fördertechnik GmbH
PS: Why does the first feature form in the feature request workflow (the one, where it first searches for similar requests) not let me select the control/area I am searching for like the one for private tickets? I almost submitted this request for the Area "All (Multiple Controls)" because of that.
Initial BUG was fixed in recent update.
One issue still exists:
When minimizing a window that is maximized in the way the intial issue described the problem, and you reactivate it by clicking on its "TaskBarIcon", the window gets clipped incorrectly again.
The RadWindow's size shrinks while dragging it on a monitor with high DPI scale which causes it to shake a bit. In other words, the dragging is not smooth.
This was reproduced on a monitor with DPI scale set to 175%.
This is reproducible if you set the RadWindowInteropHelper.AllowTransparency on the RadWindow control (regardless of the value - True or False).
This is more noticeable in .NetCore projects.
Environment: VS Community 2019 (16.0.3), with .NET Framework 4.8 (release version, run-time and developer pack installed), Windows 10 Pro October 2018
Telerik UI version: latest (2019.1.220.45)
When VS2019 opened, Telerik UI for WPF should have been found under the "Extension" menu --> Telerik --> Telerik UI for WPF. However, there is only "Telerik UI for WinForms" under "Telerik" now. There is neither "Telerik scenario" in the "Add New Item" window so no RadForms can be created. Manually replacing <Window> in XAML to <telerik:RadWindow> does change the appearance of the window in the designer, but the properties in the Property window does not change accordingly to RadForms but still WPF standard Form ones. Toolboxes shows current lists of Telerik UI for WPF controls and they can be correctly created (at least RadButton). "Repair" in the Progress Control Panel doesn't fix this problem.
Thanks!
The thrown error is that the element that should be set as FocusedElement cannot be found. Available in LIB version 2016.2.606, it will be also available in the 2016 R2 SP1 release.