microsoft / microsoft/WinAppVSCE

[Feature]: Complete x:Bind assignment and accessibility diagnostics

Open
#203 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.