https://github.com/sourcechord/FluentWPF
Fluent Design System for WPF.
https://github.com/sourcechord/FluentWPF
acrylic c-sharp fluent-design fluentdesign theme wpf xaml
Last synced: about 2 months ago
JSON representation
Fluent Design System for WPF.
- Host: GitHub
- URL: https://github.com/sourcechord/FluentWPF
- Owner: sourcechord
- License: mit
- Created: 2017-11-27T22:07:51.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-04-08T17:04:32.000Z (about 3 years ago)
- Last Synced: 2025-04-13T21:33:51.574Z (about 2 months ago)
- Topics: acrylic, c-sharp, fluent-design, fluentdesign, theme, wpf, xaml
- Language: C#
- Size: 5.69 MB
- Stars: 1,471
- Watchers: 53
- Forks: 115
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-wpf - FluentWPF - (FREE, OPEN SOURCE) Fluent Design System for WPF. (Libraries / Individual Controls)
README
FluentWPFFluent Design System for WPF
[](https://www.nuget.org/packages/FluentWPF/latest)
[](https://www.nuget.org/packages/FluentWPF/latest/prerelease)
[](https://www.nuget.org/packages/FluentWPF/)
[](https://github.com/sourcechord/FluentWPF/blob/master/LICENSE)## Overview
* Acrylic
* AcrylicWindow
* AcrylicBrush
* Reveal
* Reveal styles for controls(Button/TextBox/ListBox)
* ParallaxView
* AccentColors
## Install
*NuGet Package*
```
Install-Package FluentWPF
```
https://nuget.org/packages/FluentWPF### Preparation
Add XAML namespace.
```xml
xmlns:fw="clr-namespace:SourceChord.FluentWPF;assembly=FluentWPF"
```Add ResourceDictionary to App.xaml.
```xml
```
## Usage
### Acrylic
#### AcrylicWindow

```xml
```
**Code Behind**
Remove base class definition.
```cs
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
}
}
```##### Properties
|Property Name|Type|Description|
|-----|-----|-----|
|TintColor|Color|Gets or sets the color tint for the semi-transparent acrylic material.|
|TintOpacity|double|Gets or sets the degree of opacity of the color tint.|
|NoiseOpacity|double|Gets or sets the degree of opacity of the noise layer.|
|FallbackColor|Color|Gets or sets the color when window is inactive.|
|AcrylicWindowStyle|Normal NoIcon None|Gets or sets a value that indicates the style of the Acrylic Window.|The difference between kind of AcrylicWindowStyle is demonstrated as follows,
|AcrylicWindowStyle="Normal"|AcrylicWindowStyle="NoIcon"|AcrylicWindowStyle="None"|
|-----|-----|-----|
||
|
|
##### Using as Attached Property
AcrylicWindow can also be used as an Attached Property.
```xml
```
**Code Behind**
```cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
```#### AcrylicBrush

```xml
```
### Reveal
Reveal effect for controls.
To use the reveal effect, set `fw:PointerTracker.Enabled="True"` on a parent container.

```xml
```
#### Styles
|Control|Style Name|
|-----|-----|
|Button|ButtonRevealStyle|
|Button|ButtonAccentRevealStyle|
|Button|ButtonRoundRevealStyle|
|Button|ButtonRoundAccentRevealStyle|
|TextBox|TextBoxRevealStyle|
|PasswordBox|PasswordBoxRevealStyle|
|ListBox|ListBoxRevealStyle|
|ComboBox|ComboBoxRevealStyle|### ParallaxView

```xml
```
#### Properties
|Property Name|Type|Description|
|-----|-----|-----|### AccentColors

```xml
<Setter Property="Width" Value="120" />
<Setter Property="Height" Value="120" />
<Setter Property="Margin" Value="3" />
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Bottom" />
<Setter Property="FontSize" Value="14" />
```
#### Accent Color
_Accent color depends on the accent color of the system._|Sample|Color|Brush|
|-----|-----|-----|
||ImmersiveSystemAccentLight3|ImmersiveSystemAccentLight3Brush|
||ImmersiveSystemAccentLight2|ImmersiveSystemAccentLight2Brush|
||ImmersiveSystemAccentLight1|ImmersiveSystemAccentLight1Brush|
||ImmersiveSystemAccent|ImmersiveSystemAccentBrush|
||ImmersiveSystemAccentDark1|ImmersiveSystemAccentDark1Brush|
||ImmersiveSystemAccentDark2|ImmersiveSystemAccentDark2Brush|
||ImmersiveSystemAccentDark3|ImmersiveSystemAccentDark3Brush|**Usage:**
```xml
```#### Base Color
|Light|Dark|Color|Brush|
|-----|-----|-----|-----|
|||SystemBaseHighColor|SystemBaseHighColorBrush|
|||SystemBaseMediumHighColor|SystemBaseMediumHighColorBrush|
|||SystemBaseMediumColor|SystemBaseMediumColorBrush|
|||SystemBaseMediumLowColor|SystemBaseMediumLowColorBrush|
|||SystemBaseLowColor|SystemBaseLowColorBrush|**Usage:**
```xml
```#### Alt Color
|Light|Dark|Color|Brush|
|-----|-----|-----|-----|
|||SystemAltHighColor|SystemAltHighColorBrush|
|||SystemAltMediumHighColor|SystemAltMediumHighColorBrush|
|||SytemAltMediumColor|SytemAltMediumColorBrush|
|||SystemAltMediumLowColor|SystemAltMediumLowColorBrush|
|||SystemAltLowColor|SystemAltLowColorBrush|**Usage:**
```xml
```#### Chrome Color
|Light|Dark|Color|Brush|
|-----|-----|-----|-----|
|||SystemChromeHighColor|SystemChromeHighColorBrush|
|||SytemAltMediumColor|SytemAltMediumColorBrush|
|||SystemChromeMediumLowColor|SystemChromeMediumLowColorBrush|
|||SystemChromeLowColor|SystemChromeLowColorBrush|**Usage:**
```xml
```#### Opacity Color
Windows includes a set of colors that differ only by their opacities:
|Base Color|Opacity|Color|Brush|
|-----|-----|-----|-----|
||FF|SystemChromeBlackHighColor|SystemChromeBlackHighColorBrush|
||CC|SystemChromeBlackMediumColor|SystemChromeBlackMediumColor|
||66|SystemChromeBlackMediumLowColor|SystemChromeBlackMediumLowColorBrush|
||33|SystemChromeBlackLowColor|SystemChromeBlackLowColorBrush|
||33|SystemListMediumColor|SystemListMediumColorBrush|
||19|SystemListLowColor|SystemListLowColorBrush|#### Other Colors
|Light|Dark|Color|Brush|
|-----|-----|-----|-----|
|||SystemChromeWhiteColor|SystemChromeWhiteColorBrush|
|||SystemChromeAltLowColor|SystemChromeAltLowColorBrush|
|||SystemChromeDisabledHighColor|SystemChromeDisabledHighColorBrush|
|||SystemChromeDisabledLowColor|SystemChromeDisabledLowColorBrush|## License
[MIT License](LICENSE)