uno
uno copied to clipboard
[Mac Catalyst] `XamlRoot?.RasterizationScale` not updating
Current behavior
As described on this Mapsui issue we are having some issues when moving the app window to a secondary screen with different DPI
Issue is not present in windows, I tested with a similar setup and it resizes correctly
As Paul from MapsUI recommended I tested XamlRoot?.RasterizationScale on both platforms, and its value doesn't change in Mac but it is on Windows.
Expected behavior
Map should resize correctly
How to reproduce it (as minimally and precisely as possible)
- Run app
- Move it to secondary screen
- Notice how map didn't changed
Workaround
No workaround
Works on UWP/WinUI
Yes
Environment
No response
NuGet package version(s)
<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.2.2" />
<PackageVersion Include="Geolocation" Version="1.2.1" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.2428" />
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.4.231219000" />
<PackageVersion Include="Uno.Core.Extensions.Logging.Singleton" Version="4.0.1" />
<PackageVersion Include="Uno.Extensions.Core.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Authentication" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Authentication.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Configuration" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Hosting" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Hosting.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Http" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Http.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Http.Refit" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Localization" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Localization.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Logging.OSLog" Version="1.7.0" />
<PackageVersion Include="Uno.Extensions.Logging.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Navigation" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Navigation.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Navigation.Toolkit.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Reactive" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Reactive.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Serialization" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Serialization.Http" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Serialization.Refit" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Reactive.Messaging" Version="4.0.0" />
<PackageVersion Include="Uno.Material.WinUI" Version="4.1.1" />
<PackageVersion Include="Uno.Toolkit.WinUI" Version="5.1.5" />
<PackageVersion Include="Uno.Toolkit.WinUI.Material" Version="5.1.5" />
<PackageVersion Include="Uno.Resizetizer" Version="1.3.0" />
<PackageVersion Include="Uno.UI.Adapter.Microsoft.Extensions.Logging" Version="$(UnoVersion)" />
<PackageVersion Include="Uno.UniversalImageLoader" Version="1.9.36" />
<PackageVersion Include="Uno.WinUI" Version="$(UnoVersion)" />
<PackageVersion Include="Uno.WinUI.Lottie" Version="$(UnoVersion)"/>
<PackageVersion Include="Uno.WinUI.DevServer" Version="$(UnoVersion)" />
<PackageVersion Include="Xamarin.Google.Android.Material" Version="1.10.0.2" />
<PackageVersion Include="Mapsui.Uno.WinUI" Version="4.1.2" />
Affected platforms
Mac Catalyst
IDE
Visual Studio Code
IDE version
No response
Relevant plugins
No response
Anything else we need to know?
No response
This one needs to be fixed for multiwindow as well, raising priority; a change also needs to trigger XamlRoot.Changed
@MartinZikmund If you are going to look into multiwindow issue please also check the mouse wheel event on the second monitor. What I saw when testing the Mapsui issue is that on the second monitor the mouse wheel event only fired on the top left of the screen (about 1/16th of the total surface).
https://github.com/unoplatform/uno/blob/c6235f1aa2443a9e2e7e7c56303c178c6cfe42ac/src/Uno.UWP/Graphics/Display/DisplayInformation.macOS.cs#L60
https://github.com/unoplatform/uno/blob/c6235f1aa2443a9e2e7e7c56303c178c6cfe42ac/src/Uno.UWP/Graphics/Display/DisplayInformation.iOS.cs#L97
It feels wrong to always use "MainScreen"