Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/russkyc/modern-controls-wpf

Highly customizable modern wpf control library
https://github.com/russkyc/modern-controls-wpf

custom-control-library custom-controls desktop theme wpf wpf-controls wpf-ui xaml

Last synced: about 1 month ago
JSON representation

Highly customizable modern wpf control library

Awesome Lists containing this project

README

        

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](https://raw.githubusercontent.com/russkyc/modern-controls-wpf/master/Russkyc.ModernControls.WPF.Demo/Resources/Demo.png)

---
## Setup

Add This Reference to App.xaml
```xaml
xmlns:russkyc="clr-namespace:org.russkyc.moderncontrols.Styles;assembly=Russkyc.ModernControls.WPF"
```

Add the Resource and set default theme in App.xaml

```xaml




```

Add the following to your window
```xaml
xmlns:russkyc="clr-namespace:org.russkyc.moderncontrols;assembly=Russkyc.ModernControls.WPF"
```

Sample Usage
```xaml

```

---

### A Taste of ModernControls Customization

```xaml

```

---

## Control Library
> - [x] ModernWindow - **_New! in 1.5.0_**
> - [x] ModernTextBox - **_Updated! in 1.5.0_**
> - [x] ModernButton
> - [x] ModernToggleButton
> - [x] ModernRadio
> - [x] ModernSwitch - **_New! in 1.5.0_**
> - [x] ModernRadioButton
> - [x] ModernComboBox - **_Updated! in 1.5.0_**

---

## Global Theme Management

![image](https://raw.githubusercontent.com/russkyc/modern-controls-wpf/master/Russkyc.ModernControls.WPF.Demo/Resources/ThemeManagementDemo.gif)

### 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
```csharp
using org.russkyc.moderncontrols.Helpers;
```

Adding Base or Color Themes

```csharp
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)

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

Get List of Base or Color Themes (names)
```csharp
ThemeManager.Instance.GetBaseThemes();
ThemeManager.Instance.GetColorThemes();
```

Removing Base or Color Themes

```csharp
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](https://github.com/russkyc/modern-controls-wpf/wiki)

---

## Sponsors
Special thanks to [JetBrains](https://www.jetbrains.com/) for supporting this project by providing licences to the JetBrains Suite!


JetBrains Logo (Main) logo.