MaterialDesignInXamlToolkit

GitHub

Google's Material Design in XAML & WPF, for C# & VB.Net.

AI Prompts & Endpoints
Agent Skills View CodeWiki Knowledge Base

Repository: MaterialDesignInXAML/MaterialDesignInXamlToolkit


Stars: 16118

README.md

<!-- omit in toc -->

Material Design In XAML Toolkit !Logo of Material Design in XAML

![NuGet-Themes](https://www.nuget.org/packages/MaterialDesignThemes/)
![NuGet-Colors](https://www.nuget.org/packages/MaterialDesignColors/)

![NuGet-Themes-CI)](https://www.nuget.org/packages/MaterialDesignThemes/)
![NuGet-Colors-CI)](https://www.nuget.org/packages/MaterialDesignColors/)

![Backers on Open Collective](#backers)
![Sponsors on Open Collective](#sponsors)
![Chat][discord-server-url]
![Issues](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues)


Comprehensive and easy to use Material Design theme and control library for the Windows desktop (WPF).

- Material Design styles for all major WPF Framework controls
- Additional controls to support the theme, including Multi Action Button, Cards, Dialogs, Clock
- Easy configuration of palette (at design _and_ runtime), according to Google's guidelines
- Full Material Design Icons icon pack
- Easy transition effects
- Compatible with Dragablz, MahApps
- Demo applications included in the source project

See screenshots

<details>
<summary>Table of contents</summary>

- Getting started
- Building the source
- Screenshots
- More examples
- FAQ
- Contributing
- Mentions
- Backers
- Sponsors

</details>

---

Getting started

NOTE

See the full starting guide for more in-depth information.

This quick guide assumes you have already created a WPF project and are using Microsoft Visual Studio 2022.

* Install the toolkit through the visual NuGet package manager in Visual Studio or use the following command:

text
Install-Package MaterialDesignThemes

* Alter your App.xaml

xml
<Application 
x:Class="Example.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="Lime" />

<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesign2.Defaults.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>


* If you want to target Material Design 3, alter the ResourceDictionary line in the snippet above to use MaterialDesign3.Defaults.xaml.

* Alter your MainWindow.xaml

xml
<Window [...]
Style="{StaticResource MaterialDesignWindow}"
[...] >

XML Namespaces

The toolkit exposes two XML namespaces for use in XAML:

| Prefix | URI | Description |
|--------|-----|-------------|
| materialDesign | http://materialdesigninxaml.net/winfx/xaml/themes | Primary namespace for all public Material Design types, controls, and converters. |
| materialDesignInternal | http://materialdesigninxaml.net/winfx/xaml/themes-internal | Namespace for types in internal sub-namespaces (MaterialDesignThemes.Wpf.Internal, MaterialDesignThemes.Wpf.Converters.Internal, MaterialDesignThemes.Wpf.Behaviors.Internal). |

WARNING

Types exposed via the materialDesignInternal namespace are considered internal implementation details and are not guaranteed to maintain backwards-compatibility between versions. Use them at your own risk.

To use the internal namespace in XAML:

xml
<Window ...
xmlns:materialDesignInternal="http://materialdesigninxaml.net/winfx/xaml/themes-internal">


Building the source

To build the project, following is required:
* Microsoft Visual Studio 2022
* .NET desktop development workload

This repository also contains 3 different demo applications:
* MaterialDesignDemo - Reference WPF app with Material Design 2 styling, this contains all controls and is a recommended tool when developing apps with this library
* MaterialDesign3Demo - Reference WPF app with Material Design 3 styling, under development
* MahAppsDragablzDemo - Demo app for combining with Dragablz and MahApps

Screenshots

<details>
<summary>Material Design 3 demo app screenshots</summary>

!Buttons
!Cards
!Chips
!Colortool
!Colorzones
!Comboboxes
!Datagrids
!Dialogs
!Drawer
!Elevation
!Expander
!Fields
!Fieldslineup
!Groupboxes
!Home
!Iconpack
!Lists
!Menustoolbars
!Navigationbar
!Navigationrail
!Pallete
!Pickers
!Progressindicators
!Ratingbar
!Slider
!Snackbar
!Toggles
!Tooltips
!Transitions
!Trees
!Typography

</details>

<details>

<summary>Material Design 2 demo app screenshots</summary>

> [!WARNING]
> The screenshots below are taken from the Material Design 2 demo app.
> Material Design 3 is the latest version, so the UI shown here may differ from the latest design.

!Screenshot of WPF Material Design 2 demo application home page
!Buttons
!Toggles
!Fields
!ComboBoxes
!Palette
!Color Tools
!Pickers
!Icons
!Cards
!Menus and Toolbars
!Progress Bars
!Dialogs
!Lists
!Tree View
!Sliders
!Chips
!Typography
!Group Box
!Snackbars
!Elevation
!Colorzones
!Datagrids
!Drawer
!Expander
!Fieldslineup
!Navigationrail
!NumericUpDown
!Ratingbar
!Tabs
!Tooltips
!Transitions
</details>

More examples

* Keboo/MaterialDesign.Examples
* Motion List

FAQ

* How to increase rendering performance?

Contributing

Before contributing code read the Contribution Guidelines
* GitHub issues are for bugs and feature requests.
* For questions, help and chat in general, please use the GitHub discussion tab or the [Discord server][discord-server-url].
* Stack Overflow tag: material-design-in-xaml

Want to say thanks? 🙏🏻
* Hit the :star: star :star: button
* If you'd like to make a very much appreciated financial donation please visit <a href='https://opencollective.com/materialdesigninxaml'>open collective</a>

This project exists thanks to all the people who contribute.

<a href="https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/graphs/contributors">
<img src="https://contrib.rocks/image?repo=MaterialDesignInXAML/MaterialDesignInXamlToolkit" />
</a>

Mentions

- James Willock
![Twitter](https://twitter.com/James_Willock) - Founder of the project
- Kevin Bost
![Twitter](https://twitter.com/kitokeboo) - Maintainer of the repository
- Snalty
![Twitter](https://twitter.com/snalty) - Designer of the logo
- Icon pack sourced from Material Design Icons
- ControlzEx - Library used in MaterialDesignInXAML
- Ignace Maes - Whose Material Skin project inspired the original material design theme for Dragablz, which in turn led James Willock start this project
- Material Design Extensions - A community repository based on this library that provides additional controls and features.
- Contributors - A big thank you to all the contributors of the project!

Backers

Thank you to all our backers! 🙏 Become a backer.

<a href="https://opencollective.com/materialdesigninxaml#backers" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/backers.svg?width=890"></a>

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor.

<a href="https://opencollective.com/materialdesigninxaml/sponsor/0/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/1/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/2/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/3/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/4/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/5/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/6/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/7/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/8/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/9/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/9/avatar.svg"></a>

[discord-server-url]: https://discord.keboo.dev