uno-csharpmarkup2

Build Uno Platform UIs in pure C# using C# Markup 2.

7|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/VincentH-Net/dotnet-agentic-engineering --skill uno-csharpmarkup2
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: uno-csharpmarkup2
Source: https://github.com/VincentH-Net/dotnet-agentic-engineering/tree/main/plugins/uno-platform/skills/uno-csharpmarkup2
Command: npx skills add https://github.com/VincentH-Net/dotnet-agentic-engineering --skill uno-csharpmarkup2

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Build Uno Platform UIs in pure C# using C# Markup 2 to replace XAML with a code-first, declarative UI approach.

Core Features & Use Cases

  • Declarative fluent builder for Uno Platform UIs with zero runtime reflection and compile-time bindings.
  • Bind without strings using CallerArgumentExpression for strong typing in DataTemplate, ControlTemplate, and page logic.
  • Per-page authoring workflow via the mcs-uno-markup2 templates and New-View.ps1, enabling consistent UI page creation.
  • Spread for dynamic child lists, null-as-conditional-child patterns, and attached property syntax for concise layouts.
  • Strict markup/logic split across <Name>Page.cs and <Name>Page.logic.cs to keep UI concerns isolated.

Quick Start

Install Modern.CSharp.Templates and run the New-View.ps1 script from the Presentation project to add a new Uno Markup 2 page.

Frequently Asked Questions about uno-csharpmarkup2

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

FAQPage Schema
How do I build Uno Platform UIs in pure C# instead of XAML?

Build Uno Platform UIs in pure C# using C# Markup 2 to replace XAML with a code-first, declarative UI approach. It provides a declarative fluent builder with zero runtime reflection and compile-time bindings.

How do I create type-safe bindings without string literals in Uno Platform?

Type-safe bindings in Uno Platform are created using CallerArgumentExpression to bind without strings. This enables strong typing in DataTemplate, ControlTemplate, and page logic for compile-time validation.

What is the per-page authoring workflow for C# Markup 2?

The per-page authoring workflow uses mcs-uno-markup2 templates and the New-View.ps1 script to add new Uno Markup 2 pages. It enforces a strict markup and logic split across <Name>Page.cs and <Name>Page.logic.cs files.

Can I use C# Markup 2 with existing Uno Platform 6 apps using MVUX?

Yes, C# Markup 2 applies to both new and existing Uno Platform 6 apps using MVVM or MVUX patterns. It maintains a strict markup and logic separation to ensure type-safe, maintainable UI code.

How do I handle dynamic child lists and conditional UI elements in Uno Platform?

Handle dynamic child lists using Spread for dynamic children and null-as-conditional-child patterns. C# Markup 2 also provides attached property syntax to create concise layouts in pure C#.