WPF-UI 1.2.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package WPF-UI --version 1.2.1
                    
NuGet\Install-Package WPF-UI -Version 1.2.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="WPF-UI" Version="1.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WPF-UI" Version="1.2.1" />
                    
Directory.Packages.props
<PackageReference Include="WPF-UI" />
                    
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 WPF-UI --version 1.2.1
                    
#r "nuget: WPF-UI, 1.2.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 WPF-UI@1.2.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=WPF-UI&version=1.2.1
                    
Install as a Cake Addin
#tool nuget:?package=WPF-UI&version=1.2.1
                    
Install as a Cake Tool

WPF UI

Created with ❤ in Poland by lepo.co
A simple way to make your application written in WPF keep up with modern design trends. Library changes the base elements like Page, ToggleButton or List, and also includes additional controls like Navigation, NumberBox, Dialog or Snackbar.

GitHub license Nuget Nuget (with prereleases) Nuget Size Sponsors

📁 What's included?

Name Framework Build Status
WPFUI<br />Library that allows you to use all features in your own application NET6 NET5<br/>NETCore3<br/>NETFramework48<br/>NETFramework47<br/>NETFramework46 Build status
WPFUI.Demo<br />An application written in WPF .NET 6 where you can test the features. NET6win Build status

📷 Screenshots

Screen-4

Screen-1

Screen-5

Screen-6

🛠️ Custom controls

Control Namespace Description
NumberBox WPFUI.Controls Text field for entering numbers with the possibility of setting a mask.
Button WPFUI.Controls Custom button with additional parameters like an icon.
CardAction WPFUI.Controls Inherited from the Button interactive card styled according to Fluent Design.
CardCollapse WPFUI.Controls Inherited from the ContentControl control which can hide the collapsable content.
CardControl WPFUI.Controls Inherited from the Button control which displays an additional control on the right side of the card.
CardProfile WPFUI.Controls Simple element that displays an image in a circular frame like in default applications for Windows 11.
CodeBlock WPFUI.Controls Formats and display a fragment of the source code.
Dialog WPFUI.Controls Displays a large card with a slightly transparent background and two action buttons.
Snackbar WPFUI.Controls Animated card with a notification displayed at the bottom of the application.
FontIcon WPFUI.Controls Represents a text element containing an icon glyph with selectable font family.
Hyperlink WPFUI.Controls Button that opens a URL in a web browser.
Icon WPFUI.Controls Represents a text element containing an icon glyph.
Navigation WPFUI.Controls Navigation styled as UWP apps.
NavigationStore WPFUI.Controls Navigation styled as Windows 11 Store app
NavigationFluent WPFUI.Controls Navigation styled as Windows 11 Settings app.
TitleBar WPFUI.Controls A set of buttons that can replace the default window navigation, giving it a new, modern look.

🧩 Custom classes and tools

Class Namespace Description
Manager WPFUI.Theme Allows to manage available color themes from the library.
Watcher WPFUI.Theme Listens for SystemParameters changes while waiting for StaticPropertyChanged to change, then switches theme with Manager.Switch.
Progress WPFUI.Taskbar Allows to change the status of the displayed notification in the application icon on the TaskBar.
Mica WPFUI.Background Mica is a material that appears on the backdrop of your application — behind all other content.

🖌️ XAML styles for use in the application.

Resource usage Description
<Window Style="{StaticResource UiWindow}"/> Add a custom appearance to the window and removes the navigation buttons.
<Page Style="{StaticResource UiPage}"/> Add a custom appearance to the page.
<Page Style="{StaticResource UiPageScrollable}"/> Add a custom appearance to the page and automatic display of scrolling if the content is too long.

📐 How to use?

First, your application needs to load custom styles, add in the MyApp\App.xaml file:

<Application>
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/WPFUI;component/Styles/Theme/Dark.xaml" />
        <ResourceDictionary Source="pack://application:,,,/WPFUI;component/Styles/WPFUI.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

Now, you can customize your views, for example by adding a non-standard look to the main window and navigation buttons

<Window
  xmlns:wpfui="clr-namespace:WPFUI.Controls;assembly=WPFUI"
  Style="{StaticResource UiWindow}">
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <wpfui:TitleBar Grid.Row="0" ApplicationNavigation="True" />

    <Grid Grid.Row="1" Margin="12,6,12,12">
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
      </Grid.ColumnDefinitions>

      <wpfui:NavigationFluent Grid.Column="0" Margin="0,0,12,0" />

      <Frame Grid.Column="1" />
    </Grid>
  </Grid>
</Window>

Special thanks

Crafting apps for .NET without the creators of tools like ReSharper or XAML Styler would never be such a fantastic adventure.

Microsoft Property

Design of the interface, choice of colors and the appearance of the controls were inspired by projects made by Microsoft for Windows 11.
The WPFUI.Demo app includes icons from Shell32 for Windows 11. These icons are the legal property of Microsoft and you may not use them in your own app without permission. They are used here as an example of creating tools for Microsoft systems.

Segoe Fluent Icons

According to the EULA of Segoe Fluent Icons we cannot ship a copy of it with this dll. Segoe Fluent Icons is installed by default on Windows 11, but if you want these icons in an application for Windows 10 and below, you must manually add the font to your application's resources.
https://docs.microsoft.com/en-us/windows/apps/design/style/segoe-fluent-icons-font
https://docs.microsoft.com/en-us/windows/apps/design/downloads/#fonts

In the app dictionaries, you can add an alternate path to the font

<FontFamily x:Key="SegoeFluentIcons">pack://application:,,,/;component/Fonts/#Segoe Fluent Icons</FontFamily>

Compilation

Use Visual Studio 2022 and invoke the .sln.

Visual Studio
WPF UI is an Open Source project. You are entitled to download and use the freely available Visual Studio Community Edition to build, run or develop for WPF UI. As per the Visual Studio Community Edition license, this applies regardless of whether you are an individual or a corporate user.

License

WPF UI is free and open source software licensed under MIT License. You can use it in private and commercial projects.
Keep in mind that you must include a copy of the license in your project.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net5.0-windows7.0 is compatible.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net6.0-windows7.0 is compatible.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
.NET Framework net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 is compatible.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (55)

Showing the top 5 NuGet packages that depend on WPF-UI:

Package Downloads
WPF-UI.Tray

Native tray menu icon support for WPF using the WPF UI library.

WPF-UI.Violeta

WPF UI Violeta is based on WPF UI, and provides the Fluent experience in your known and loved WPF framework. Some new immersive controls like like `Toast`, `Flyout`, `ContentDialog`, `MessageBox` and etc.

Snet.Windows.Core

界面组件:Core(核心部件、模型、枚举、处理、Mvvm、绑定、通知、资源、模板)

MyNet.Wpf

This library is a comprehensive class library designed to simplify the implementation of common GUI functionalities in .NET applications.

DYH.Extensions.CAD.Wpf

Package Description

GitHub repositories (69)

Showing the top 20 popular GitHub repositories that depend on WPF-UI:

Repository Stars
babalae/better-genshin-impact
📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自动烹饪 | 桌面分身 - UI Automation Testing Tools For Genshin Impact
srwi/EverythingToolbar
Everything integration for the Windows taskbar.
itsfatduck/optimizerDuck
Free, open-source Windows optimization tool for performance, privacy, and simplicity.
LykosAI/StabilityMatrix
Multi-Platform Package Manager for Stable Diffusion
BartoszCichecki/LenovoLegionToolkit
Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops.
TheJoeFin/Text-Grab
Use OCR in Windows quickly and easily with Text Grab. With optional background process and notifications.
Justsenger/ExHyperV
The Excalibur of Hyper-V / Hyper-V 神器
unchihugo/FluentFlyout
The modern Flyout app for Windows 11, built with Fluent 2 Design principles. Media Flyouts, Taskbar Widgets and more.
SakiRinn/LiveCaptions-Translator
Lightweight and powerful real-time audio/speech translation tool based on Windows LiveCaptions.
PLFJY/ContextMenuMgr
Context Menu Manager Plus 是一个强大的实用程序,它可帮助您管理 Windows 上的右键菜单,并避免第三方向你的右键菜单里塞屎
CosmosOS/Cosmos
Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#, VB.NET, and more!
RoundedTB/RoundedTB
Add margins, rounded corners and segments to your taskbars!
1357310795/MyComputerManager
管理“此电脑”里删不掉的流氓“快捷方式”(包括侧边栏),同时可自己添加这类“快捷方式”
LenovoLegionToolkit-Team/LenovoLegionToolkit
Lenovo Legion Toolkit (LLT) is a Windows desktop utility created for Lenovo gaming laptops that replaces Lenovo Vantage, Legion Zone, and Legion Space.
TEdit/Terraria-Map-Editor
TEdit - Terraria Map Editor - TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! It also lets you change world settings (time, bosses downed etc), edit chests and change sign, make epic dungeons, castles, cities, and add rewards for your adventurers!
nefarius/DsHidMini
Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers
Greedeks/GTweak
Portable Tool for an Ideal Windows Setup
Taiizor/Sucrose
Sucrose is a versatile wallpaper engine that brings life to your desktop with a wide range of interactive wallpapers.
CHKZL/DDTV
可对阿B进行直播多窗口观看、开播提醒、自动录制、合并、转码的跨平台工具
gluck/il-repack
Open-source alternative to ILMerge