Skip to content

[release/11.0.1xx-preview2] Fix NullReferenceException when binding to Dictionary<Enum, object> with x:DataType#34244

Closed
github-actions[bot] wants to merge 2 commits intorelease/11.0.1xx-preview2from
backport/pr-32916-to-release/11.0.1xx-preview2
Closed

[release/11.0.1xx-preview2] Fix NullReferenceException when binding to Dictionary<Enum, object> with x:DataType#34244
github-actions[bot] wants to merge 2 commits intorelease/11.0.1xx-preview2from
backport/pr-32916-to-release/11.0.1xx-preview2

Conversation

@github-actions
Copy link
Contributor

Backport of #32916 to release/11.0.1xx-preview2

/cc @StephaneDelcroix

StephaneDelcroix and others added 2 commits February 25, 2026 13:07
…ith x:DataType

Fixes #13856

Using  with a binding to  like  caused a NullReferenceException at compile time in XamlC.

- **XamlC (SetPropertiesVisitor.cs)**: Added support for finding indexers with enum parameter types and emitting enum constant values via IL
- **SourceGen (CompiledBindingMarkup.cs)**: Added support for enum indexer parameter types in the binding path parser

- Added enum indexer detection in XamlC's property digger
- Updated type validation to allow enum indexer types
- Added code to emit enum constant values as IL instructions
- Added enum indexer support in SourceGen's TryParsePath method
- Fixed pre-existing test failure in Maui32879Tests (unrelated pragma warning directive)

- Added Maui13856.xaml unit test for XamlC compilation
- Added Maui13856Tests.cs for SourceGen validation
- Add diagnostic + early return when enum member name is not found in the enum type
- Update test to assert fully qualified enum member (per simonrozsival review)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant