When enabling PerMonitor DPI awareness for an application using RadDocking it only works correctly for the main monitor.
Our test environment is setup as follows:
- Windows 10 (1803; at least 1603 required)
- first monitor 1920x1080 @125%
- second monitor 1680x1050 @150%
On the first monitor the docking behaves as expected.
When moved to the second monitor some of the compasses are displayed at incorrect positions and react to mouse positions other than their screen position.
Please see attached video for more details.
Please let us know how to resolve issue with RadDocking - we require PerMonitor DPI awareness for our application.
5 Answers, 1 is accepted
I've tested this with the CustomDockingPanesFactory SDK example. I changed the resolutions and the DPIs of the monitors but I wasn't able to reproduce the reported issue. I am using Windows 10 (16299.547).
Can you please tell me if this is reproducible only on the OS Build 1803 or you can also reproduce it on other system? Also, can you share a runnable project that shows the setup from the .gif? This will allow me to test it and see what happens. You can send the project in a new support ticket opened from your telerik.com account.
Regards,
Martin Ivanov
Progress Telerik
Hi Martin,
attached you'll find the project used for reproduction (originally from https://www.telerik.com/forums/dockedright-panes-slide-outside-the-application-window). Please change the extension from PNG to ZIP!
You should see the behavior on all Windows 10 versions since 1607 (10.0.14393).
Your SDK sample is missing the relevant settings in app.manifest and app.config:
app.manifest:
<
asmv1:assembly
...>
<...>
<
application
>
<
windowsSettings
>
<
dpiAwareness
xmlns
=
"http://schemas.microsoft.com/SMI/2016/WindowsSettings"
>PerMonitor</
dpiAwareness
>
<
dpiAware
xmlns
=
"http://schemas.microsoft.com/SMI/2005/WindowsSettings"
>true</
dpiAware
>
</
windowsSettings
>
</
application
>
<
compatibility
xmlns
=
"urn:schemas-microsoft-com:compatibility.v1"
>
<
application
xmlns
=
"urn:schemas-microsoft-com:asm.v3"
>
<!-- Windows 10 -->
<
supportedOS
Id
=
"{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"
/>
</
application
>
</
compatibility
>
</
asmv1:assembly
>
app.config:
<?
xml
version
=
"1.0"
?>
<
configuration
>
<
startup
>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.5.2"
/>
</
startup
>
<
runtime
>
<!-- remove when targeting 4.6.2 or above -->
<
AppContextSwitchOverrides
value
=
"Switch.System.Windows.DoNotScaleForDpiChanges=false"
/>
</
runtime
>
</
configuration
>
Please remember to test on a two monitor setup with different scaling (DPI) for each monitor!
Let me know should you require further input for repro!
Regards,
Oliver
Thank you for the additional information. I will check it and get back to you later today.
Regards,
Martin Ivanov
Progress Telerik
I can confirm that I reproduced this and it turns out it is an issue with the RadDocking control. However, I will need to dig a bit deeper to see if there is a workaround for this. I will contact you tomorrow with more information on this.
Regards,
Martin Ivanov
Progress Telerik
Please excuse me for the delay. I've further investigated this but I am afraid that there is no good entry point that can be used to work this around. I've logged a feature request which you can follow in order to be notified for changes in the item's status. I also updated your Telerik points.
Regards,
Martin Ivanov
Progress Telerik