Platform View to ViewModel location provider #2824
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
This migrates the updates for the ViewModelLocationProvider in Prism.Maui into the ViewModelLocationProvider in Prism.Core. This change is core to Prism.Maui being able to map multiple routes to a single View with the route being able to customize the ViewModel that should be resolved for the View.
Bugs Fixed
API Changes
Added:
Removed:
Behavioral Changes
When the platform provides a delegate the delegate will be evaluated to determine if there is a mapping that should be used before we attempt to use reflection to locate the ViewModel. In Prism.Maui we do this by registering a mapping for each registration that contains the route name, View and ViewModel. If no ViewModel was provided in the Registration then it will fall back to the default reflection based location model Prism has always used.
PR Checklist