-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Focus Traversal Api #18647
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
emmauss
wants to merge
6
commits into
master
Choose a base branch
from
focus_api
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Focus Traversal Api #18647
+1,500
−70
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I could definitely change to Avalonia for my Android TV project if this were implemented. You got this. :) |
Pr should be ready for review. |
You can test this PR using the following package version. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does the pull request do?
This PR is based on #18373 , and if moved out of draft, will supercede it.
This PR aims to address concern reported in #7607 . It implements a few of the core focus search api, and attempts to keep the core implementation as close to WinUI's as possible.
The following api are provided over the preceding PR;
Implementation is as close to WinUI's as possible, with some differences. All api returns a
IInputElement
instead ofAvaloniaObject
, the counterpart to WinUI'sDependencyObject
. WinUI can have focusableDependencyObject
without making themUIElements
. We can't do this directly in Avalonia, as the special class WinUI made an exception for aren'tAvaloniaObject
s on our end. This are TextRuns, specifically Hyperlinks. All our TextRuns are plain CLR classes.What is the current behavior?
What is the updated/expected behavior with this PR?
How was the solution implemented (if it's not obvious)?
Checklist
Breaking changes
Because focus search requires a root visual in all cases,
FocusManager
is no longer stored as a singleton inAvaloniaLocator
, but instead each toplevel has its ownFocusManager
.Obsoletions / Deprecations
Fixed issues