Essentials fix DeviceDisplay and DeviceInfo #3738
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Change
Convert over all of the static UWP static method calls to use PInvoke via the WindowHandle
Most of the code here is taken from
https://github.com/marb2000/DesktopWindow
The one unfortunate part of this code is the additional call from Maui.Core into Essentials through IVT. Taking from @marb2000 's examples the only way to react to the orientationchange/dpi change is by inspecting the windows messages. You can get pretty close by subscribing to the
Change
event onAppWindow
but there are some edge cases (landscape to landscae flipped) where it looks like theChange
event doesn't fire onAppWindow
. Hopefully there will be some additional APIs added to WinUI down the road that let us sever this requirement.PR Checklist
Does this PR touch anything that might affect accessibility?
If any of the above checkboxes apply to your PR, then the PR will need to provide testing to demonstrate that accessibility still works.