├── MaterialWPF
├── Fonts
│ └── micon.ttf
├── material-wpf.png
├── Styles
│ ├── Assets
│ │ ├── Fonts.xaml
│ │ └── Colors.xaml
│ ├── Controls
│ │ ├── Card.xaml
│ │ ├── Icon.xaml
│ │ ├── Hyperlink.xaml
│ │ ├── MaterialButton.xaml
│ │ ├── MaterialTitleBar.xaml
│ │ ├── MaterialNavigation.xaml
│ │ ├── MessageBox.xaml
│ │ ├── TextBox.xaml
│ │ ├── ToggleButton.xaml
│ │ ├── MaterialTreeList.xaml
│ │ └── Dialog.xaml
│ ├── Material.xaml
│ ├── ThemeDark.xaml
│ └── ThemeLight.xaml
├── Controls
│ ├── Card.cs
│ ├── ToggleButton.cs
│ ├── PasswordBox.cs
│ ├── Icon.cs
│ ├── Hyperlink.cs
│ ├── MaterialButton.cs
│ ├── WindowNavigation.xaml
│ ├── MessageBox.cs
│ ├── Splash.xaml
│ ├── Splash.xaml.cs
│ ├── Snackbar.xaml
│ ├── TreeList.xaml
│ ├── TextBox.cs
│ ├── TreeList.xaml.cs
│ ├── WindowNavigation.xaml.cs
│ ├── Dialog.cs
│ ├── Snackbar.xaml.cs
│ ├── Navigation.xaml
│ └── Navigation.xaml.cs
├── License - Micon.txt
├── UI
│ ├── RelayCommand.cs
│ ├── NavItem.cs
│ └── Toast.cs
├── MaterialWPF.csproj
└── Theme.cs
├── MaterialWPF.Demo
├── material_wpf.ico
├── Assets
│ ├── banner-dark.png
│ └── banner-light.png
├── App.xaml.cs
├── AssemblyInfo.cs
├── Pages
│ ├── Settings.xaml
│ ├── Fields.xaml.cs
│ ├── TreeList.xaml
│ ├── Settings.xaml.cs
│ ├── TreeList.xaml.cs
│ ├── Dashboard.xaml.cs
│ ├── Icons.xaml.cs
│ ├── Controls.xaml.cs
│ ├── Fields.xaml
│ ├── Dashboard.xaml
│ ├── Colors.xaml.cs
│ ├── Icons.xaml
│ ├── Colors.xaml
│ └── Controls.xaml
├── App.xaml
├── MaterialWPF.Demo.csproj
├── MainWindow.xaml
└── MainWindow.xaml.cs
├── Directory.Build.props
├── .github
├── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
├── dependabot.yml
└── workflows
│ └── CI.yml
├── MaterialWPF.sln
├── .gitignore
└── README.md
/MaterialWPF/Fonts/micon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rapiddev/MaterialWPF/HEAD/MaterialWPF/Fonts/micon.ttf
--------------------------------------------------------------------------------
/MaterialWPF/material-wpf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rapiddev/MaterialWPF/HEAD/MaterialWPF/material-wpf.png
--------------------------------------------------------------------------------
/MaterialWPF.Demo/material_wpf.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rapiddev/MaterialWPF/HEAD/MaterialWPF.Demo/material_wpf.ico
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Assets/banner-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rapiddev/MaterialWPF/HEAD/MaterialWPF.Demo/Assets/banner-dark.png
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Assets/banner-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rapiddev/MaterialWPF/HEAD/MaterialWPF.Demo/Assets/banner-light.png
--------------------------------------------------------------------------------
/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1.0.6
4 | MaterialWPF
5 |
6 |
--------------------------------------------------------------------------------
/MaterialWPF/Styles/Assets/Fonts.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | pack://application:,,,/MaterialWPF;component/Fonts/#micon
5 |
--------------------------------------------------------------------------------
/MaterialWPF/Controls/Card.cs:
--------------------------------------------------------------------------------
1 | // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
2 | // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
3 | // Copyright (C) Leszek Pomianowski and MaterialWPF Contributors.
4 | // All Rights Reserved.
5 |
6 | namespace MaterialWPF.Controls
7 | {
8 | public class Card : System.Windows.Controls.Grid
9 | { }
10 | }
11 |
--------------------------------------------------------------------------------
/MaterialWPF/Controls/ToggleButton.cs:
--------------------------------------------------------------------------------
1 | // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
2 | // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
3 | // Copyright (C) Leszek Pomianowski and MaterialWPF Contributors.
4 | // All Rights Reserved.
5 |
6 | namespace MaterialWPF.Controls
7 | {
8 | public partial class ToggleButton : System.Windows.Controls.Primitives.ToggleButton {}
9 | }
10 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/App.xaml.cs:
--------------------------------------------------------------------------------
1 | // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
2 | // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
3 | // Copyright (C) Leszek Pomianowski and MaterialWPF Contributors.
4 | // All Rights Reserved.
5 |
6 | using System.Windows;
7 |
8 | namespace MaterialWPF.Demo
9 | {
10 | ///
11 | /// Interaction logic for App.xaml
12 | ///
13 | public partial class App : Application
14 | {
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly: ThemeInfo(
4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
5 | //(used if a resource is not found in the page,
6 | // or application resource dictionaries)
7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
8 | //(used if a resource is not found in the page,
9 | // app, or any theme specific resource dictionaries)
10 | )]
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/MaterialWPF/Controls/PasswordBox.cs:
--------------------------------------------------------------------------------
1 | // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
2 | // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
3 | // Copyright (C) Leszek Pomianowski and MaterialWPF Contributors.
4 | // All Rights Reserved.
5 |
6 | namespace MaterialWPF.Controls
7 | {
8 | public sealed partial class PasswordBox : System.Windows.Controls.TextBox
9 | {
10 | public PasswordBox() : base()
11 | {
12 | //this.OnKeyUp += OnKeyUpAction;
13 | }
14 |
15 | private void OnKeyUpAction(System.Windows.Input.KeyEventArgs args)
16 | {
17 |
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Pages/Settings.xaml:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Pages/Fields.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows;
7 | using System.Windows.Controls;
8 | using System.Windows.Data;
9 | using System.Windows.Documents;
10 | using System.Windows.Input;
11 | using System.Windows.Media;
12 | using System.Windows.Media.Imaging;
13 | using System.Windows.Navigation;
14 | using System.Windows.Shapes;
15 |
16 | namespace MaterialWPF.Demo.Pages
17 | {
18 | ///
19 | /// Interaction logic for Fields.xaml
20 | ///
21 | public partial class Fields : Page
22 | {
23 | public Fields()
24 | {
25 | InitializeComponent();
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Pages/TreeList.xaml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Pages/Settings.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows;
7 | using System.Windows.Controls;
8 | using System.Windows.Data;
9 | using System.Windows.Documents;
10 | using System.Windows.Input;
11 | using System.Windows.Media;
12 | using System.Windows.Media.Imaging;
13 | using System.Windows.Navigation;
14 | using System.Windows.Shapes;
15 |
16 | namespace MaterialWPF.Demo.Pages
17 | {
18 | ///
19 | /// Interaction logic for Settings.xaml
20 | ///
21 | public partial class Settings : Page
22 | {
23 | public Settings()
24 | {
25 | InitializeComponent();
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Pages/TreeList.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows;
7 | using System.Windows.Controls;
8 | using System.Windows.Data;
9 | using System.Windows.Documents;
10 | using System.Windows.Input;
11 | using System.Windows.Media;
12 | using System.Windows.Media.Imaging;
13 | using System.Windows.Navigation;
14 | using System.Windows.Shapes;
15 |
16 | namespace MaterialWPF.Demo.Pages
17 | {
18 | ///
19 | /// Interaction logic for TreeView.xaml
20 | ///
21 | public partial class TreeList : Page
22 | {
23 | public TreeList()
24 | {
25 | InitializeComponent();
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. Windows 10]
28 | - .NET: [e.g. net5.0-windows10.0.17763.0]
29 | - Version: [e.g. 1.0.4-prerelease45]
30 |
31 | **Additional context**
32 | Add any other context about the problem here.
33 |
--------------------------------------------------------------------------------
/MaterialWPF.Demo/MaterialWPF.Demo.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | WinExe
5 | net6.0-windows10.0.22000.0
6 | true
7 | MaterialWPF.Demo.App
8 | material_wpf.ico
9 | 7.0
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5 |
6 | version: 2
7 |
8 | updates:
9 | # Maintain dependencies for GitHub Actions
10 | - package-ecosystem: "github-actions"
11 | directory: "/"
12 | schedule:
13 | interval: "daily"
14 |
15 | # Maintain dependencies for nuget
16 | - package-ecosystem: "nuget"
17 | directory: "MaterialWPF/"
18 | schedule:
19 | interval: "daily"
20 |
21 | # Maintain dependencies for nuget
22 | - package-ecosystem: "nuget"
23 | directory: "MaterialWPF.Demo/"
24 | schedule:
25 | interval: "daily"
26 |
27 | # Maintain dependencies for nuget
28 | - package-ecosystem: "npm"
29 | directory: "Assets/"
30 | schedule:
31 | interval: "daily"
32 |
--------------------------------------------------------------------------------
/MaterialWPF/Styles/Controls/Card.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
24 |
25 |
--------------------------------------------------------------------------------
/MaterialWPF/License - Micon.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Mehdi HosseinZade
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/MaterialWPF/Controls/Icon.cs:
--------------------------------------------------------------------------------
1 | // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
2 | // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
3 | // Copyright (C) Leszek Pomianowski and MaterialWPF Contributors.
4 | // All Rights Reserved.
5 |
6 | using System.Windows;
7 |
8 | namespace MaterialWPF.Controls
9 | {
10 | public class Icon : System.Windows.Controls.Label
11 | {
12 | public static readonly DependencyProperty GlyphProperty = DependencyProperty.Register("Glyph",
13 | typeof(UI.MaterialIcon), typeof(MaterialWPF.Controls.Icon),
14 | new PropertyMetadata(UI.MaterialIcon.Accept, new PropertyChangedCallback(OnGlyphChanged)));
15 |
16 | public static readonly DependencyProperty RawGlyphProperty = DependencyProperty.Register("RawGlyph",
17 | typeof(string), typeof(MaterialWPF.Controls.Icon), new PropertyMetadata("\uEA01"));
18 |
19 | private static void OnGlyphChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
20 | {
21 | (d as Icon).SetValue(RawGlyphProperty, UI.MiconIcons.ToString((d as Icon).Glyph as UI.MaterialIcon?));
22 | }
23 |
24 | public UI.MaterialIcon Glyph
25 | {
26 | get => (UI.MaterialIcon)(this.GetValue(GlyphProperty) as UI.MaterialIcon?);
27 | set => SetValue(GlyphProperty, value);
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/MaterialWPF/Styles/Controls/Icon.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
28 |
29 |
--------------------------------------------------------------------------------
/MaterialWPF/Controls/Hyperlink.cs:
--------------------------------------------------------------------------------
1 | // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
2 | // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
3 | // Copyright (C) Leszek Pomianowski and MaterialWPF Contributors.
4 | // All Rights Reserved.
5 |
6 | using System;
7 | using System.Windows;
8 |
9 | namespace MaterialWPF.Controls
10 | {
11 | public class Hyperlink : System.Windows.Controls.Button
12 | {
13 | public static readonly DependencyProperty NavigateUriProperty = DependencyProperty.Register("NavigateUri",
14 | typeof(string), typeof(Controls.Hyperlink), new PropertyMetadata(String.Empty));
15 |
16 | public string NavigateUri
17 | {
18 | get => GetValue(NavigateUriProperty) as string;
19 | set => SetValue(NavigateUriProperty, value);
20 | }
21 |
22 | public Hyperlink() => Click += RequestNavigate;
23 |
24 | private void RequestNavigate(object sender, RoutedEventArgs e)
25 | {
26 | if (!string.IsNullOrEmpty(NavigateUri))
27 | {
28 | System.Diagnostics.ProcessStartInfo sInfo =
29 | new System.Diagnostics.ProcessStartInfo(new Uri(NavigateUri).AbsoluteUri)
30 | {
31 | UseShellExecute = true,
32 | };
33 |
34 | System.Diagnostics.Process.Start(sInfo);
35 | }
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/MaterialWPF.Demo/Pages/Dashboard.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using System.Windows.Controls;
3 |
4 | namespace MaterialWPF.Demo.Pages
5 | {
6 | ///
7 | /// Interaction logic for Dashboard.xaml
8 | ///
9 | public partial class Dashboard : Page
10 | {
11 | public Dashboard()
12 | {
13 | InitializeComponent();
14 | }
15 |
16 | //This method is triggered by MaterialWPF.Controls.Navigation when navigating to this page.
17 | public void OnNavigationRequest()
18 | {
19 | System.Diagnostics.Debug.WriteLine("You've just been navigated to the Dashboard!");
20 | }
21 |
22 | public void ToggleTheme(bool isDark)
23 | {
24 | if (isDark)
25 | mainBanner.Source = new System.Windows.Media.Imaging.BitmapImage(new System.Uri("pack://application:,,,/Assets/banner-dark.png"));
26 | else
27 | mainBanner.Source = new System.Windows.Media.Imaging.BitmapImage(new System.Uri("pack://application:,,,/Assets/banner-light.png"));
28 | }
29 |
30 | private void Navigate(string tag)
31 | {
32 | (App.Current.MainWindow as MainWindow).rootNavigation.Navigate(tag);
33 | }
34 |
35 | private void Button_Icons(object sender, RoutedEventArgs e)
36 | {
37 | this.Navigate("icons");
38 | }
39 |
40 | private void Button_Controls(object sender, RoutedEventArgs e)
41 | {
42 | this.Navigate("controls");
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/MaterialWPF/Controls/MaterialButton.cs:
--------------------------------------------------------------------------------
1 | // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
2 | // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
3 | // Copyright (C) Leszek Pomianowski and MaterialWPF Contributors.
4 | // All Rights Reserved.
5 |
6 | using System.Windows;
7 |
8 | namespace MaterialWPF.Controls
9 | {
10 | public partial class MaterialButton : System.Windows.Controls.Button
11 | {
12 | public static readonly DependencyProperty GlyphProperty = DependencyProperty.Register("Glyph", typeof(UI.MaterialIcon), typeof(MaterialWPF.Controls.MaterialButton), new PropertyMetadata(UI.MaterialIcon.Accept, new PropertyChangedCallback(OnGlyphChanged)));
13 | public static readonly DependencyProperty RawGlyphProperty = DependencyProperty.Register("RawGlyph", typeof(string), typeof(MaterialWPF.Controls.MaterialButton), new PropertyMetadata("\uEA01"));
14 |
15 | private static void OnGlyphChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
16 | {
17 | (d as MaterialButton).SetValue(RawGlyphProperty, UI.MiconIcons.ToString((d as MaterialButton).Glyph as UI.MaterialIcon?));
18 | }
19 |
20 | public UI.MaterialIcon Glyph
21 | {
22 | get
23 | {
24 | return (UI.MaterialIcon)(this.GetValue(GlyphProperty) as UI.MaterialIcon?);
25 | }
26 | set
27 | {
28 | this.SetValue(GlyphProperty, value);
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/MaterialWPF.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 12.00
2 | # Visual Studio Version 16
3 | VisualStudioVersion = 16.0.31019.35
4 | MinimumVisualStudioVersion = 10.0.40219.1
5 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MaterialWPF", "MaterialWPF\MaterialWPF.csproj", "{9C6D3355-E1B2-43E3-A067-971DB9E75F99}"
6 | EndProject
7 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MaterialWPF.Demo", "MaterialWPF.Demo\MaterialWPF.Demo.csproj", "{A85F8899-0E24-413F-99B6-1BEE885D72B5}"
8 | EndProject
9 | Global
10 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
11 | Debug|Any CPU = Debug|Any CPU
12 | Release|Any CPU = Release|Any CPU
13 | EndGlobalSection
14 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
15 | {9C6D3355-E1B2-43E3-A067-971DB9E75F99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
16 | {9C6D3355-E1B2-43E3-A067-971DB9E75F99}.Debug|Any CPU.Build.0 = Debug|Any CPU
17 | {9C6D3355-E1B2-43E3-A067-971DB9E75F99}.Release|Any CPU.ActiveCfg = Release|Any CPU
18 | {9C6D3355-E1B2-43E3-A067-971DB9E75F99}.Release|Any CPU.Build.0 = Release|Any CPU
19 | {A85F8899-0E24-413F-99B6-1BEE885D72B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
20 | {A85F8899-0E24-413F-99B6-1BEE885D72B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
21 | {A85F8899-0E24-413F-99B6-1BEE885D72B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
22 | {A85F8899-0E24-413F-99B6-1BEE885D72B5}.Release|Any CPU.Build.0 = Release|Any CPU
23 | EndGlobalSection
24 | GlobalSection(SolutionProperties) = preSolution
25 | HideSolutionNode = FALSE
26 | EndGlobalSection
27 | GlobalSection(ExtensibilityGlobals) = postSolution
28 | SolutionGuid = {58AC8433-E4BE-4A19-BA89-3C65089FB910}
29 | EndGlobalSection
30 | EndGlobal
31 |
--------------------------------------------------------------------------------
/MaterialWPF/Styles/Assets/Colors.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/MaterialWPF/Controls/WindowNavigation.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
18 |
24 |
29 |
35 |
41 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/MaterialWPF/Styles/Controls/Hyperlink.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
40 |
41 |
--------------------------------------------------------------------------------
/MaterialWPF/Styles/Material.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/MaterialWPF/UI/RelayCommand.cs:
--------------------------------------------------------------------------------
1 | //http://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090030
2 |
3 | using System;
4 | using System.Diagnostics;
5 | using System.Windows.Input;
6 |
7 | namespace MaterialWPF.UI
8 | {
9 | ///
10 | /// A command whose sole purpose is to
11 | /// relay its functionality to other
12 | /// objects by invoking delegates. The
13 | /// default return value for the CanExecute
14 | /// method is 'true'.
15 | ///
16 | public class RelayCommand : ICommand
17 | {
18 | #region Fields
19 |
20 | readonly Action