GithubHelp home page GithubHelp logo

skyformat99 / metroradiance Goto Github PK

View Code? Open in Web Editor NEW

This project forked from grabacr07/metroradiance

0.0 1.0 0.0 2.47 MB

Modern WPF Themes (like Visual Studio 2012 or later).

Home Page: http://grabacr.net/archives/1105

License: MIT License

Batchfile 0.05% C# 99.95%

metroradiance's Introduction

MetroRadiance

Build status NuGet Downloads License

UI control libraries for create WPF window like Visual Studio 2012/2013/2015.

ss150730085651kd

Installation

Install NuGet package(s).

PM> Install-Package MetroRadiance

Features / How to use

MetroRadiance.Core

  • DPI / Per-Monitor DPI support
    • Get system DPI
    • Get monitor DPI from HwndSource or window handle
using MetroRadiance.Interop;
// Get system dpi
var systemDpi = window.GetSystemDpi();

if (PerMonitorDpi.IsSupported)
{
    // Get monitor dpi.
    var hwndSource = (HwndSource)PresentationSource.FromVisual(this);
    var monitorDpi = hwndSource.GetDpi();
}
  • Windows theme support
    • Get Windows theme (Light or Dark, only Windows 10)
    • Get Windows accent color
    • Subscribe color change event from Windows
using MetroRadiance.Platform;
// Get Windows accent color
var color = WindowsTheme.GetAccentColor();

// Subscribe accent color change event from Windows theme.
var disposable = WindowsTheme.RegisterAccentColorListener(color =>
{
    // apply color to your app.
});

// Unsubscribe color change event.
disposable.Dispose();
  • HSV color model support
using MetroRadiance.Media;
// Get Windows accent color (using MetroRadiance.Platform;)
var rgbColor = WindowsTheme.GetAccentColor();

// Convert from RGB to HSV color.
var hsvColor = rgbColor.ToHsv();
hsvColor.V *= 0.8;

// Convert from HSV to RGB color.
var newColor = hsvColor.ToRgb();

MetroRadiance.Chrome

  • Add window chrome like Visual Studio to WPF Window
    • MetroRadiance.Chrome.WindowChrome
<Window xmlns:chrome="http://schemes.grabacr.net/winfx/2014/chrome">
    <chrome:WindowChrome.Instance>
        <chrome:WindowChrome />
    </chrome:WindowChrome.Instance>
</Window>
  • Add any UI elements to window chrome
    • MetroRadiance.Chrome.WindowChrome.Top / .Left / .Right / .Bottom
<Window xmlns:chrome="http://schemes.grabacr.net/winfx/2014/chrome">
    <chrome:WindowChrome.Instance>
        <chrome:WindowChrome>
            <chrome:WindowChrome.Top>
                <Border Background="DarkRed"
                        Padding="24,3"
                        Margin="8,0"
                        HorizontalAlignment="Right">
                    <TextBlock Text="any UI elements"
                               Foreground="White" />
                </Border>
            </chrome:WindowChrome.Top>
        </chrome:WindowChrome>
    </chrome:WindowChrome.Instance>
</Window>

ss160128005316ls

MetroRadiance

  • Theme support
// Change theme.
ThemeService.Current.ChangeTheme(Theme.Dark);

// Change theme (sync Windows)
ThemeService.Current.ChangeTheme(Theme.Windows);

// Change Accent
ThemeService.Current.ChangeAccent(Accent.Blue);

// Change accent (sync Windows)
ThemeService.Current.ChangeAccent(Accent.Windows);

// Change accent (from RGB Color)
var accent = Colors.Red.ToAccent();
ThemeService.Current.ChangeAccent(accent);
  • Custom controls
  • Custom behaviors
  • Custom converters

License

This library is under the MIT License (MIT).

metroradiance's People

Contributors

emoacht avatar grabacr07 avatar katsuyuzu avatar mntone avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.