spiegelp / MaterialDesignExtensions

Material Design Extensions is based on Material Design in XAML Toolkit to provide additional controls and features for WPF apps
https://spiegelp.github.io/MaterialDesignExtensions/
MIT License
761 stars 122 forks source link
app-bar autocomplete material material-design side-navigation stepper wpf xaml

Material Design Extensions

Material Design Extensions icon

Material Design Extensions is based on Material Design in XAML Toolkit to provide additional controls and features for WPF apps. The controls might not be specified in the Material Design specification or would crash the scope of Material Design in XAML Toolkit.

Build status

NuGet

NuGet Status

Install NuGet package. PM> Install-Package MaterialDesignExtensions

Assemblies are compiled for .NET Core 3.1 and .NET Framework 4.5.2

Getting started

  1. Create a WPF desktop application
  2. Install Material Design Extensions via NuGet
  3. Add the styles to your App.xaml (see App.xaml in the demo)
  4. Add the namespace xmlns:controls="clr-namespace:MaterialDesignExtensions.Controls;assembly=MaterialDesignExtensions" to your XAML
  5. You are ready to use the controls

Important notice

The configuration of Material Design Extensions v2.6.0 changed in order to enable changing the theme at runtime. Please change your configuration according to App.xaml of the demo.

Controls

Material Design Extensions features the following controls:

Control Details Status
Stepper Custom Stepper control (specification) Done
Oversized number spinner Custom OversizedNumberSpinner control Done
Grid list Templates for ListBox to render as a grid list (specification) Done
Open directory Custom OpenDirectoryControl and OpenDirectoryDialog control Done
Open file Custom OpenFileControl and OpenFileDialog control Done
Save file Custom SaveFileControl and SaveFileDialog control Done
Open multiple directories Custom OpenMultipleDirectoriesControl and OpenMultipleDirectoriesDialog control Done
Open multiple files Custom OpenMultipleFilesControl and OpenMultipleFilesDialog control Done
Text box with file path Custom TextBoxOpenDirectory, TextBoxOpenFile and TextBoxSaveFile control Done
App bar Custom AppBar control (specification) Done
Persistent search Custom PersistentSearch control (specification) Done
Side navigation Custom SideNavigation control (specification) Done
Navigation rail Custom NavigationRail control (specification) Done
Autocomplete Custom Autocomplete control Done
Text box suggestions Custom TextBoxSuggestions control Done
Tabs Templates for TabControl (specification) Done
Busy overlay Custom BusyOverlay control Done
Material window Custom MaterialWindow control Done
Material navigation window Custom MaterialNavigationWindow control In development

Screenshots

Horizontal stepper

Vertical stepper

Side navigation

Navigation rail

Tabs

Material window and app bar

Open directory

Open file

Save file

Grid list

Persistent search

Autocomplete

Oversized number spinner

Documentation

You will find the API documentation on the website.

License

Material Design Extensions is licensed under the MIT license.