Skip to content

lgztx96/CommunityToolkit.WinUI

Repository files navigation

WinUI Community Toolkit (C++ Port)

This repository contains C++ ports of CommunityToolkit components.

The goal is to allow seamless usage of these controls in WinUI 3 / C++ projects.


Controls

MarkdownTextBlock

MarkdownTextBlock supports syntax highlighting for C#, C++, XML, JSON, and Shell.

MarkdownTextBlock

Marquee

Marquee

OpacityMaskView

OpacityMaskView

Shimmer

Shimmer

ColorPicker / ColorPickerButton

ColorPicker

DockPanel

DockPanel

ImageCropper

ImageCropper

LayoutTransformControl

LayoutTransformControl

MetadataControl

MetadataControl

RadialGauge

⚠️ The ValueStringFormat property does not support .NET string format syntax and only supports std::format syntax.

RadialGauge

RangeSelector

RangeSelector

Segmented

Segmented

SettingsCard / SettingsExpander

SettingsCard

ContentSizer / GridSplitter / PropertySizer

GridSplitter

StaggeredLayout

StaggeredLayout

SwitchPresenter

SwitchPresenter

TabbedCommandBar

TabbedCommandBar

UniformGrid

UniformGrid

AttachedCardShadow

AttachedCardShadow


Features

  • Native C++/WinRT implementation for WinUI 3.
  • API style compatible with CommunityToolkit controls.

Build Steps

  • Requires Visual Studio 2022 or later for compilation.
  • To build CommunityToolkit.Labs.WinUI, you need to install tree-sitter via vcpkg:
vcpkg install tree-sitter:x64-windows-static

Markdown parsing uses md4c (https://github.com/mity/md4c).
Since vcpkg does not support configuring UTF-16 character set for md4c, the project directly includes the md4c source code.

Usage

  • Download the release package.
  • For your project, add a reference to the provided .winmd file. Visual Studio will automatically reference the required libraries.

About

WinUI Community Toolkit (C++ Port)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages