github

lepoco / wpfui

  • воскресенье, 16 июня 2024 г. в 00:00:01
https://github.com/lepoco/wpfui

WPF UI provides the Fluent experience in your known and loved WPF framework. Intuitive design, themes, navigation and new immersive controls. All natively and effortlessly.



WPF UI Banner Dark WPF UI Banner Light

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.

Discord GitHub license Nuget Nuget VS 2022 Downloads Sponsors

ua

Deliver humanitarian aid directly to Ukraine.

https://bank.gov.ua/en/about/humanitarian-aid-to-ukraine

Refugees in Poland

Many forms of support for refugees from Ukraine and organizations supporting them are available on the Polish government website
https://pomagamukrainie.gov.pl/chce-pomoc/prywatnie/pomoc-finansowa

ua

🚀 Getting started

For a starter guide see our documentation.

WPF UI Gallery is a free application available in the Microsoft Store, with which you can test all functionalities.
https://apps.microsoft.com/store/detail/wpf-ui/9N9LKV8R9VGM?cid=windows-lp-hero

$ winget install 'WPF UI'

WPF UI is delivered via NuGet package manager. You can find the package here:
https://www.nuget.org/packages/wpf-ui/

Visual Studio
The plugin for Visual Studio 2022 let you easily create new projects using WPF UI.
https://marketplace.visualstudio.com/items?itemName=lepo.wpf-ui

📁 What's included?

Name Framework
Wpf.Ui
Library that allows you to use all features in your own application
NET7 NET6
NETCore3
NETFramework48
NETFramework472
NETFramework462
Wpf.Ui.Gallery
Application with all controls.
NET7-win
Wpf.Ui.Demo.Mvvm
An MVVM app written in WPF .NET 6 where you can test the features.
NET7-win
Wpf.Ui.Demo.Simple
Simple .NET 7 app with navigation.
NET7-win
Wpf.Ui.FontMapper
Console app for generating Fluent System Icons enums.
NET7
Wpf.Ui.Extension
Project for Visual Studio 2022 extension.
NETFramework48

📷 Screenshots

Demo App Sample

Monaco Editor

Text Editor Sample

Store App Sample

🏗️ Works with Visual Studio Designer

VS2022 Designer Preview

🏁 Virtualized panels for displaying thousands controls

WPF UI virtualized wrap panels

❤️ Custom Tray icon and menu in pure WPF

WPF UI Tray menu in WPF

⚓ Custom Windows 11 SnapLayout available for TitleBar.

WPF UI Snap Layout for WPF

🕹️ Radiograph

Radiograph is a computer hardware monitoring app that uses WPF UI.

Radiograph screenshot

📖 Documentation

Documentation can be found at https://wpfui.lepo.co/. We also have a tutorial over there for newcomers.

🚧 Development

If you want to propose a new functionality or submit a bugfix, create a Pull Request for the branch development.

📐 How to use?

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

<Application
  ...
  xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ui:ThemesDictionary Theme="Dark" />
        <ui:ControlsDictionary />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

If your application does not have MyApp\App.xaml file, use ApplicationThemeManager.Apply(frameworkElement) to apply/update the theme resource in the frameworkElement.

public partial class MainWindow
{
    public MainWindow()
    {
        InitializeComponent();
        ApplicationThemeManager.Apply(this);
    }
}

Now you can create fantastic apps, e.g. with one button:

<ui:FluentWindow
  ...
  xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml">
  <StackPanel>
      <ui:TitleBar Title="WPF UI"/>
      <ui:Card Margin="8">
          <ui:Button Content="Hello World" Icon="{ui:SymbolIcon Fluent24}" />
      </ui:Card>
  </StackPanel>
</ui:FluentWindow>

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 Wpf.Ui.Gallery app includes icons from Microsoft WinUI 3 Gallery app. They are used here as an example of creating tools for Microsoft systems.

Segoe Fluent Icons

WPF UI uses Fluent System Icons. Although this font was also created by Microsoft, it does not contain all the icons for Windows 11. If you need the missing icons, add Segoe Fluent Icons to your application.
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.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.

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.