microsoft / microsoft/microsoft-ui-xaml

Proposal: Add C++/WinRT support for x:Property

Open
#11,825 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-XamlCompiler feature proposal team-Core team-Markup
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

Title

Add C++/WinRT support for x:Property directive

Summary

ADO PR 1077233 added support via XamlCompiler code generation for the x:Property directive but only for C#, C++/CX, and VB; C++/WinRT support was deliberately left as follow-up work (which never happened). This support still exists today so we currently have a feature gap between C# and C++/WinRT.

Rationale

Language gaps are confusing for developers and should not exist without very good reason. We have two options for how we deal with this:

  1. Add the missing C++/WinRT support
  2. Remove the existing C# support

It's unclear how many C# users currently take advantage of this feature but it's unlikely to be many (if even nonzero) given that it is completely undocumented.

Scope

No response

Important Notes

No response

Open Questions

No response

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 reviewing the XamlCompiler code-generation support introduced by ADO PR 1077233, focusing on how C# and C++/CX handle the x:Property directive. Compare those paths with the C++/WinRT generation and testing structure; done means x:Property works for C++/WinRT without removing existing language support.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.