MosaicUIWpf 2025.9.8.1

dotnet add package MosaicUIWpf --version 2025.9.8.1
                    
NuGet\Install-Package MosaicUIWpf -Version 2025.9.8.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MosaicUIWpf" Version="2025.9.8.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MosaicUIWpf" Version="2025.9.8.1" />
                    
Directory.Packages.props
<PackageReference Include="MosaicUIWpf" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MosaicUIWpf --version 2025.9.8.1
                    
#r "nuget: MosaicUIWpf, 2025.9.8.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MosaicUIWpf@2025.9.8.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MosaicUIWpf&version=2025.9.8.1
                    
Install as a Cake Addin
#tool nuget:?package=MosaicUIWpf&version=2025.9.8.1
                    
Install as a Cake Tool

<span><img src="./docs/images/collage-48.png" alt="Mosaic Icon" height="48" style="vertical-align: middle;"> Mosaic UI for WPF</span>

Mosaic UI for WPF is a control library that seeks to provide compartmentalized controls that if needed could be easily extracted from this project and included in your own.

Almost every WPF UI kit contains a way to theme that's custom and unique to their framework, it makes mixing and matching controls sometimes cumbersome. This project is trying to provide enough themeing options that you could use it by itself but not tether all of the controls to it so you could include it, or parts of it in other projects that use other UI libraries. I'll also be providing basic examples of how to use each control so you've got a copy/paste reference to start from and a working demo app to quickly browse and try out controls.

WPF is a great, mature technology that will be with us for a long time now that's part of .NET Core. WPF's longevity and potential longevity is one of the strengths of it. If you're writing a hobby project you want to be around in 10 years, WPF is a great choice. Credit to the dotnet developer team for bringing it the modern .NET stack.

If you find this project interesting or useful, please give it a star.

Note: There will be frequent changes to the styles in the initial part of this project.

Dark Theme

Dark Theme

Light Theme

Light Theme

Solution Projects

Feature Description
Mosaic.UI.Wpf The control library.
MosaicWpfDemo The main demo project that houses examples and snippets of each control in the library as well as usage of other types and behaviors.

Included Controls

The following table lists the controls found in src/Mosaic.UI.Wpf/Controls and their class descriptions (from XML comments).

Control Description
AdaptiveImage Image that adapts its colors to match app/OS theme. Intended purpose is to be used for icons to be able to adapt.
AsteriskTextBlock A text block that displays asterisks for each character in its text property.
Avatar Represents a customizable avatar control that displays content with support for corner radius and template selection.
Badge A badge component.
BindablePasswordBox Represents a password input control that supports data binding for the password value.
ChatThread A thread of sent and received messages like a text messaging app thread.
ClipBorder Border which allows Clipping to its border. Useful especially when you need to clip to round corners.
ColorPicker A color picker UserControl that allows users to select colors from presets or enter hex values.
EditableTextBlock Represents a control that displays text in a non-editable mode and allows users to switch to an editable mode to modify the text.
FlipPanel A flip panel component that can display two different content sides and animate between them.
GravatarImage Displays a Gravatar Image for a specified email address.
Hyperlink Represents a hyperlink control that displays text and provides navigation functionality.
InfoCard An info card with a highlight color on the left hand side.
LabeledSeparator A labeled separator.
NumericTextBox TextBox that only allows digits, minus sign and a decimal point.
SearchBox A custom TextBox tailored for searching or filtering.
ShadowPanel A panel control that applies a drop shadow effect to its child content. Provides properties to control shadow elevation and density/thickness.
Shield A shield component (shows a property and a value).
SideMenu Represents a side menu control that displays a collection of menu items and allows item selection.
SimpleStackPanel Arranges child elements into a single line that can be oriented horizontally or vertically that is more efficient that the normal StackPanel.
StopwatchDisplay Represents a stopwatch control that provides functionality to display a stopwatch timer as UI element.
StringListEditor A StringListEditor component.
SymbolRating A symbol rating component.
TabControl Represents a tab control that allows users to switch between multiple tabs.
ToggleSwitch Represents a toggle switch control that allows users to switch between two states, such as "On" and "Off".
TypingProgress Three bubble animated indicator for use indicating when a user is typing.
Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.9.8.1 118 9/8/2025