Code Monkey home page Code Monkey logo

modern-controls-wpf's Introduction

ModernControls.WPF

Nuget

Russkyc.ModernControls.WPF is an easy to use and highly customizable modern control library for wpf

What sets this apart from the default WPF controls?

The default wpf control library is awesome when it comes to ui customization, but theres only one problem --you need to write a handful of style setters, dependency properties, and triggers to have a truly customized control. Which is why Russkyc.ModernControls.WPF is created. It saves you from having to write all of the style, templates, and triggers by providing controls that are highly customizable all using properties. Perfect for quick and easy UI Development.


image


Setup

Add This Reference to App.xaml

xmlns:russkyc="clr-namespace:org.russkyc.moderncontrols.Styles;assembly=Russkyc.ModernControls.WPF"

Add the Resource and set default theme in App.xaml

    <Application.Resources>
        <!--  ModernControls WPF  -->
        <styles:ModernControlsWpf BaseTheme="Dark" ColorTheme="Green" />
    </Application.Resources>

Add the following to your window

xmlns:russkyc="clr-namespace:org.russkyc.moderncontrols;assembly=Russkyc.ModernControls.WPF"

Sample Usage

<russkyc:ModernButton Width="70" Text="Modern Button" />

A Taste of ModernControls Customization

<russkyc:ModernButton Width="70"
                             CornerRadius="5"
                             FontWeight="SemiBold"
                             HoverBackground="#3d88ff"
                             HoverForeground="#7BFFA3" 
                             PressedBackground="#1F5ABD"
                             PressedForeground="#FFBE46"
                             Text="Modern Button" />

Control Library

  • ModernWindow - New! in 1.5.0
  • ModernTextBox - Updated! in 1.5.0
  • ModernButton
  • ModernToggleButton
  • ModernRadio
  • ModernSwitch - New! in 1.5.0
  • ModernRadioButton
  • ModernComboBox - Updated! in 1.5.0

Global Theme Management

image

Using the Theme Manager

Breaking Changes in 1.5.2

  • ThemeManager is now uses Instance
  • There are now 2 Theme resources. Base Theme corresponds to the overall base(dark/light) and ColorTheme corresponds to the theme colors (blue/red/etc.)
  • Default Base Themes are now located in pack://application:,,,/Russkyc.ModernControls.WPF;component/Themes/BaseTheme/
  • Color Themes are in pack://application:,,,/Russkyc.ModernControls.WPF;component/Themes/ColorThemes/

Imports

using org.russkyc.moderncontrols.Helpers;

Adding Base or Color Themes

ThemeManager.Instance.AddBaseTheme("Light","pack://application:,,,/Russkyc.ModernControls.WPF;component/Themes/BaseTheme/DefaultLight.xaml");
ThemeManager.Instance.AddColorTheme("Blue","pack://application:,,,/Russkyc.ModernControls.WPF;component/Themes/ColorThemes/Blue.xaml");

Changing Base or Color Themes (Live)

ThemeManager.Instance.SetBaseTheme(Dark);
ThemeManager.Instance.SetColorTheme(Blue);

Get List of Base or Color Themes (names)

ThemeManager.Instance.GetBaseThemes();
ThemeManager.Instance.GetColorThemes();

Removing Base or Color Themes

ThemeManager.Instance.RemoveBaseTheme(Light);
ThemeManager.Instance.RemoveColorTheme(Blue);

Default Color Themes

Base Themes:

  • Light
  • Dark

Color Themes:

  • Blue
  • Gray
  • Green
  • Lime
  • Orange
  • Pink
  • Purple
  • Red
  • Teal
  • Yellow

Documentation, API References, and More

Head over to the Wiki


Sponsors

Special thanks to JetBrains for supporting this project by providing licences to the JetBrains Suite!

JetBrains Logo (Main) logo.

modern-controls-wpf's People

Contributors

russkyc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

modern-controls-wpf's Issues

[vNext] Add control styles for default wpf controls

ModernControls currently uses custom controls which extend on the default WPF controls, would be nice if the default controls are also styled accordingly.

  • Button
  • RadioButton
  • CheckBox
  • ComboBox
  • PasswordBox
  • DatePicker
  • Calendar
  • ListBox
  • GroupBox
  • DataGrid
  • Expander
  • TabControl
  • ScrollViewer
  • TextBox
  • RichTextBox
  • Slider
  • Tooltip

[vNext] Add more controls

Input Controls

  • ModernRichTextBox
  • ModernAutocomplete
  • ModernRating
  • ModernSlider
  • ModernCalendar
  • ModernDatePicker

Data Display

  • ModernListBox
  • ModernDataGrid
  • ModernListView
  • ModernTreeView

Feedback

  • ModernSnackbar
  • ModernDialog
  • ModernFlyout

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.