Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/russkyc/modern-controls-wpf
- Owner: russkyc
- License: mit
- Created: 2023-04-01T09:31:16.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-18T02:29:00.000Z (about 1 year ago)
- Last Synced: 2023-10-19T02:32:13.300Z (about 1 year ago)
- Topics: custom-control-library, custom-controls, desktop, theme, wpf, wpf-controls, wpf-ui, xaml
- Language: C#
- Homepage:
- Size: 564 KB
- Stars: 23
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
ModernControls.WPF
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)
---
## SetupAdd 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 MoreHead 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!