winui-port

Converts WinUI C++ code to Uno Platform C# preserving structure.

10.0k|872|Updated May 7, 2018
One-click install
npx skills add https://github.com/unoplatform/uno --skill winui-port
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: winui-port
Source: https://github.com/unoplatform/uno/tree/main/.claude/skills/winui-port
Command: npx skills add https://github.com/unoplatform/uno --skill winui-port

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill automates the complex and time-consuming process of porting WinUI C++ code to Uno Platform C#, ensuring a high-fidelity, human-fixable conversion.

Core Features & Use Cases

  • Full Control Porting: Converts entire WinUI controls, including headers, implementations, IDLs, and tests.
  • Incremental Porting: Handles specific methods, snippets, or partial updates to existing ports.
  • Lossless Conversion: Preserves all logic and structure, generating draft code that requires minimal manual correction.
  • Use Case: Migrate a custom WinUI control from a legacy C++ codebase to a modern Uno Platform application, maintaining all its functionality and API surface.

Quick Start

Use the winui-port skill to port the Expander control from /path/to/winui/dev/Expander/.

Frequently Asked Questions about winui-port

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert WinUI C++ code to C# for Uno Platform?

You can convert WinUI C++ code to C# for Uno Platform by porting entire controls, including headers, implementations, IDLs, and tests, into a lossless, structure-preserving C# draft.

Can I port a single method or snippet from WinUI C++ instead of a full control?

Yes, incremental porting supports handling specific methods, individual snippets, or partial updates to existing ports without converting an entire WinUI control at once.

Does the converted C# code follow Uno Platform layout and event patterns?

Yes, the conversion adheres to Uno Platform constraints and patterns, specifically applying partial-file layout and event-revoker patterns to ensure the C# code integrates correctly.

What is the best way to migrate a legacy WinUI C++ control to a modern C# application?

The best way to migrate a legacy WinUI control is to automate porting its headers, IDL, and tests into a high-fidelity, human-fixable C# draft that maintains the original API surface.

Will I need to manually fix the generated C# code after porting from WinUI C++?

The porting process generates a lossless draft that preserves all logic and structure, requiring only minimal manual correction to finalize the converted Uno Platform C# code.

Does this conversion process support porting WinUI test files along with the implementation?

Yes, the full control porting capability converts WinUI test files alongside headers, IDL, and implementation files to ensure complete functional parity in the Uno Platform C# output.