microsoft / microsoft/WinAppVSCE
[Feature]: Complete x:Bind assignment and accessibility diagnostics
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13
- Forks
- 3
- Avg merge
- 6d 1h
- Merged PRs (30d)
- 11
Description
Is your feature request related to a problem? Please describe.
PR #50 Round 5 binding validation passes 37 cases with zero false positives, but three negative cases remain silent: assigning int to string (XB08), assigning bool to Visibility (XB09), and binding to an inaccessible private member (XB21). The current implementation intentionally permits broad built-in XAML conversions and separately models member accessibility, so these need precise treatment rather than stricter blanket assignability.
Describe the solution you'd like
Define and test the intended compiled x:Bind conversion rules for primitive-to-string and bool-to-Visibility assignments, then diagnose only combinations that the WinUI XAML compiler rejects. Ensure private/inaccessible members produce the existing unknown/inaccessible-member diagnostic while valid page-private event handlers and supported binding members remain available.
Add focused language-server tests and live integration probes for all three cases, including nullable and converter-backed controls to prevent regressions.
Additional context
Follow-up from PR #50 Round 5 battle testing. These were unchanged pre-existing coverage gaps and were not regressions in prerelease.290.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading PR #50 Round 5 and the existing language-server tests for compiled x:Bind validation. Run or add the live integration probes for XB08, XB09, and XB21, including nullable and converter-backed controls. Done means rejected assignments produce the intended diagnostics while valid private handlers and supported binding members remain available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- devtools, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100