/Biaui

WPF dark theme and controls for .NET Core and .NET Framework

Primary LanguageC#MIT LicenseMIT

Biaui

Biaui NuGet package .NET Core Version: >= 3.1 .NET Framework version: >= 4.7 MIT License

WPF dark theme and controls for .NET

Biaui.Showcase.csproj Biaui.Showcase.csproj

Biaui.Controls.Mock.csproj Biaui.Controls.Mock.csproj

JitPad(use Biaui) Biaui

Features

  • Dark color
  • Per Monitor DPI aware
  • Some specialized controls
    • Node editor
    • Number editor
    • Color picker
    • Multiple selectable treeview
    • and more...
  • Some lightweight standard controls
    • Reimplementation. about x20-30 faster than standard WPF controls

Target Frameworks

  • .NET 5.0
  • .NET Core 3.1
  • .NET Framework 4.7 or 4.7.2 or 4.8

Install

PM> Install-Package Biaui

Quick Start

Step1. Create Project and Add Biaui

> dotnet new wpf -o first-biaui
> cd first-biaui
> dotnet add package biaui

Step2. Add Biaui's resources

  • Open App.xaml
    • Add <ResourceDictionary Source="pack://application:,,,/Biaui;component/Styles.xaml" />
<Application x:Class="first_biaui.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:first_biaui"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary Source="pack://application:,,,/Biaui;component/Styles.xaml" />
    </Application.Resources>
</Application>

Step3. Use Biaui's Window

  • Open MainWindow.xaml
    • Add xmlns:controls="clr-namespace:Biaui.Controls;assembly=Biaui"
    • Change <Window to <controls:BiaWindow
    • Change </Window> to </controls:BiaWindow>
<controls:BiaWindow x:Class="first_biaui.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:controls="clr-namespace:Biaui.Controls;assembly=Biaui"
        xmlns:local="clr-namespace:first_biaui"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>

    </Grid>
</controls:BiaWindow>
  • Open MainWindow.xaml.cs
    • Remove : Window
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace first_biaui
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}

Step4. Build and Run

> dotnet run

Biaui

Todo

  • More tutorial
  • More document
  • Light theme (white based)
    • Currently fixed in dark theme
  • Changeable accent color
    • Currently fixed in blue

Reference External Assets

Including External Assets

Including External Assets (Biaui.Extension)

Author

Yoshihiro Ito
Twitter: https://twitter.com/yoiyoi322
Email: yo.i.jewelry.bab@gmail.com

License

MIT