├── .github └── workflows │ └── vale.yml ├── CS ├── FluentDesignTemplate.sln └── FluentDesignTemplate │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── FluentDesignTemplate.csproj │ ├── Images │ ├── Balance.png │ ├── Celebration.png │ ├── Competitors.png │ ├── Distribution.png │ ├── Feedback.png │ ├── Meeting.png │ ├── Metrics.png │ ├── Off-site event.png │ ├── Performance Review.png │ ├── Produced Products.png │ ├── Revenue.png │ ├── Sales.png │ ├── Stock.png │ └── Vehicle Inspection.png │ ├── MainViewModel.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Licenses.licx │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── ViewResourceDictionary.xaml │ └── packages.config ├── Images └── preview.png ├── LICENSE ├── README.md ├── VB ├── FluentDesignTemplate.sln └── FluentDesignTemplate │ ├── App.config │ ├── App.xaml │ ├── App.xaml.vb │ ├── FluentDesignTemplate.vbproj │ ├── Images │ ├── Balance.png │ ├── Celebration.png │ ├── Competitors.png │ ├── Distribution.png │ ├── Feedback.png │ ├── Meeting.png │ ├── Metrics.png │ ├── Off-site event.png │ ├── Performance Review.png │ ├── Produced Products.png │ ├── Revenue.png │ ├── Sales.png │ ├── Stock.png │ └── Vehicle Inspection.png │ ├── MainViewModel.vb │ ├── MainWindow.xaml │ ├── MainWindow.xaml.vb │ ├── Properties │ ├── AssemblyInfo.vb │ ├── Licenses.licx │ ├── Resources.Designer.vb │ ├── Resources.resx │ ├── Settings.Designer.vb │ └── Settings.settings │ ├── ViewResourceDictionary.xaml │ └── packages.config └── config.json /.github/workflows/vale.yml: -------------------------------------------------------------------------------- 1 | name: vale-validation 2 | on: 3 | pull_request: 4 | paths: 5 | - README.md 6 | - readme.md 7 | - Readme.md 8 | 9 | jobs: 10 | vale: 11 | name: runner / vale 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: clone repo 15 | uses: actions/checkout@v4 16 | - name: clone vale-styles repo 17 | uses: actions/checkout@v4 18 | with: 19 | repository: DevExpress/vale-styles 20 | path: vale-styles 21 | ssh-key: ${{ secrets.VALE_STYLES_ACCESS_KEY }} 22 | - name: copy vale rules to the root repo 23 | run: shopt -s dotglob && cp -r ./vale-styles/vale/* . 24 | - name: vale linter check 25 | uses: DevExpress/vale-action@reviewdog 26 | with: 27 | files: '["README.md", "readme.md", "Readme.md"]' 28 | fail_on_error: true 29 | filter_mode: nofilter 30 | reporter: github-check 31 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29709.97 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentDesignTemplate", "FluentDesignTemplate\FluentDesignTemplate.csproj", "{8BCBF199-84BE-44F9-B077-66D966EBE269}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {03F9B04A-23DA-4B25-A089-8CADB7528685} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using DevExpress.Xpf.Core; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Configuration; 5 | using System.Data; 6 | using System.Linq; 7 | using System.Threading.Tasks; 8 | using System.Windows; 9 | using System.Windows.Media; 10 | 11 | namespace FluentDesignTemplate 12 | { 13 | /// 14 | /// Interaction logic for App.xaml 15 | /// 16 | public partial class App : Application 17 | { 18 | protected override void OnStartup(StartupEventArgs e) { 19 | var custompalette = new ThemePalette("CustomPalette"); 20 | custompalette.SetColor("Foreground", Colors.White); 21 | custompalette.SetColor("Focused", (Color)ColorConverter.ConvertFromString("#A04B647A")); 22 | custompalette.SetColor("HoverBackground", (Color)ColorConverter.ConvertFromString("#1FFFFFFF")); 23 | custompalette.SetColor("HoverBorder", (Color)ColorConverter.ConvertFromString("#1FFFFFFF")); 24 | custompalette.SetColor("Border", (Color)ColorConverter.ConvertFromString("#4F0B0A15")); 25 | custompalette.SetColor("SelectionBackground", (Color)ColorConverter.ConvertFromString("#5E8B99A3")); 26 | custompalette.SetColor("SelectionBorder", (Color)ColorConverter.ConvertFromString("#5E8B99A3")); 27 | custompalette.SetColor("ControlLight.SelectionBackground", (Color)ColorConverter.ConvertFromString("#5E8B99A3")); 28 | custompalette.SetColor("Control.SelectionBackground", (Color)ColorConverter.ConvertFromString("#5E8B99A3")); 29 | custompalette.SetColor("Control.HoverBackground", (Color)ColorConverter.ConvertFromString("#2E8B99A3")); 30 | custompalette.SetColor("Editor.Background", (Color)ColorConverter.ConvertFromString("#FF70787E")); 31 | custompalette.SetColor("Window.Background", (Color)ColorConverter.ConvertFromString("#FF70787E")); 32 | custompalette.SetColor("Button.Background", (Color)ColorConverter.ConvertFromString("#4F0B0A15")); 33 | custompalette.SetColor("SelectionForeground", (Color)ColorConverter.ConvertFromString("White")); 34 | var customtheme = Theme.CreateTheme(custompalette, Theme.Office2019Black); 35 | Theme.RegisterTheme(customtheme); 36 | ApplicationThemeHelper.ApplicationThemeName = customtheme.Name; 37 | 38 | base.OnStartup(e); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/FluentDesignTemplate.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8BCBF199-84BE-44F9-B077-66D966EBE269} 8 | WinExe 9 | FluentDesignTemplate 10 | FluentDesignTemplate 11 | v4.7.2 12 | 512 13 | {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 4 15 | true 16 | true 17 | 18 | 19 | AnyCPU 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | 28 | 29 | AnyCPU 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | False 40 | 41 | 42 | False 43 | 44 | 45 | True 46 | False 47 | 48 | 49 | False 50 | 51 | 52 | False 53 | 54 | 55 | False 56 | 57 | 58 | False 59 | 60 | 61 | False 62 | 63 | 64 | False 65 | 66 | 67 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.dll 68 | 69 | 70 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.Mdb.dll 71 | 72 | 73 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.Pdb.dll 74 | 75 | 76 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.Rocks.dll 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 4.0 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | MSBuild:Compile 103 | Designer 104 | 105 | 106 | MSBuild:Compile 107 | Designer 108 | 109 | 110 | App.xaml 111 | Code 112 | 113 | 114 | 115 | MainWindow.xaml 116 | Code 117 | 118 | 119 | Designer 120 | MSBuild:Compile 121 | 122 | 123 | 124 | 125 | Code 126 | 127 | 128 | True 129 | True 130 | Resources.resx 131 | 132 | 133 | True 134 | Settings.settings 135 | True 136 | 137 | 138 | 139 | ResXFileCodeGenerator 140 | Resources.Designer.cs 141 | 142 | 143 | 144 | SettingsSingleFileGenerator 145 | Settings.Designer.cs 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Balance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Balance.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Celebration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Celebration.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Competitors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Competitors.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Distribution.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Feedback.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Meeting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Meeting.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Metrics.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Off-site event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Off-site event.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Performance Review.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Performance Review.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Produced Products.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Produced Products.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Revenue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Revenue.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Sales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Sales.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Stock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Stock.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Images/Vehicle Inspection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Images/Vehicle Inspection.png -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | using DevExpress.Mvvm; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Collections.ObjectModel; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Windows.Media; 9 | using System.Windows.Media.Imaging; 10 | 11 | namespace FluentDesignTemplate 12 | { 13 | public class MainViewModel 14 | { 15 | public ObservableCollection AnalysisItems { 16 | get; 17 | set; 18 | } 19 | public ObservableCollection Reports { 20 | get; 21 | set; 22 | } 23 | public ObservableCollection Events { 24 | get; 25 | set; 26 | } 27 | public MainViewModel() { 28 | AnalysisItems = new ObservableCollection() { new AnalysisItem() { Header = "Stock", Text = "Market trends", Image = GetImage("Stock.png") }, 29 | new AnalysisItem() { Header = "Metrics", Text = "Key indicators", Image = GetImage("Metrics.png") }, 30 | new AnalysisItem() { Header = "Competitors", Text = "Growth rate, products, prices", Image = GetImage("Competitors.png") }, 31 | new AnalysisItem() { Header = "Distribution", Text = "Warehouse load, logistics", Image = GetImage("Distribution.png") }, 32 | new AnalysisItem() { Header = "Feedback", Text = "Requests, reviews, complaints", Image = GetImage("Feedback.png") }}; 33 | 34 | Reports = new ObservableCollection() { new ReportItem() { Header = "Balance", Image = GetImage("Balance.png") }, 35 | new ReportItem() { Header = "Performance Review", Image = GetImage("Performance Review.png") }, 36 | new ReportItem() { Header = "New Products", Image = GetImage("Produced Products.png") }, 37 | new ReportItem() { Header = "Revenue", Image = GetImage("Revenue.png") }, 38 | new ReportItem() { Header = "Sales", Image = GetImage("Sales.png") }, 39 | new ReportItem() { Header = "Inspection Report", Image = GetImage("Vehicle Inspection.png") }}; 40 | 41 | 42 | Events = new ObservableCollection() { new EventItem() { Header = "Meeting", Text = "Strategy Review", Type = EventType.Meeting }, 43 | new EventItem() { Header = "Office Party", Text = "New Year’s Celebration", Type = EventType.Celebration }, 44 | new EventItem() { Header = "Off-site event", Text = "Management Training", Type = EventType.OffSite }, 45 | new EventItem() { Header = "Meeting", Text = "COVID-19 Impact", Type = EventType.Meeting }, 46 | new EventItem() { Header = "Off-site event", Text = "Conference", Type = EventType.OffSite }}; 47 | } 48 | 49 | ImageSource GetImage(string name) { 50 | BitmapImage logo = new BitmapImage(); 51 | logo.BeginInit(); 52 | logo.UriSource = new Uri($"pack://application:,,,/FluentDesignTemplate;component/Images/{name}"); 53 | logo.EndInit(); 54 | return logo; 55 | } 56 | } 57 | 58 | public class BaseItem 59 | { 60 | public string Header { 61 | get; 62 | set; 63 | } 64 | public string Text { 65 | get; 66 | set; 67 | } 68 | public ImageSource Image { 69 | get; 70 | set; 71 | } 72 | } 73 | public class AnalysisItem : BaseItem 74 | { 75 | } 76 | public class ReportItem : BaseItem 77 | { 78 | } 79 | public class EventItem : BaseItem 80 | { 81 | public EventType Type { 82 | get; 83 | set; 84 | } 85 | } 86 | 87 | public enum EventType 88 | { 89 | Meeting, Celebration, OffSite 90 | } 91 | 92 | } 93 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using DevExpress.Xpf.Core; 2 | 3 | namespace FluentDesignTemplate 4 | { 5 | /// 6 | /// Interaction logic for MainWindow.xaml 7 | /// 8 | public partial class MainWindow : ThemedWindow 9 | { 10 | public MainWindow() { 11 | InitializeComponent(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Resources; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | using System.Windows; 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [assembly: AssemblyTitle("FluentDesignTemplate")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("FluentDesignTemplate")] 15 | [assembly: AssemblyCopyright("Copyright © 2020")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | //In order to begin building localizable applications, set 25 | //CultureYouAreCodingWith in your .csproj file 26 | //inside a . For example, if you are using US english 27 | //in your source files, set the to en-US. Then uncomment 28 | //the NeutralResourceLanguage attribute below. Update the "en-US" in 29 | //the line below to match the UICulture setting in the project file. 30 | 31 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 32 | 33 | 34 | [assembly: ThemeInfo( 35 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 36 | //(used if a resource is not found in the page, 37 | // or application resource dictionaries) 38 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 39 | //(used if a resource is not found in the page, 40 | // app, or any theme specific resource dictionaries) 41 | )] 42 | 43 | 44 | // Version information for an assembly consists of the following four values: 45 | // 46 | // Major Version 47 | // Minor Version 48 | // Build Number 49 | // Revision 50 | // 51 | // You can specify all the values or you can default the Build and Revision Numbers 52 | // by using the '*' as shown below: 53 | // [assembly: AssemblyVersion("1.0.*")] 54 | [assembly: AssemblyVersion("1.0.0.0")] 55 | [assembly: AssemblyFileVersion("1.0.0.0")] 56 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Properties/Licenses.licx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/CS/FluentDesignTemplate/Properties/Licenses.licx -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace FluentDesignTemplate.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() { 34 | } 35 | 36 | /// 37 | /// Returns the cached ResourceManager instance used by this class. 38 | /// 39 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 40 | internal static global::System.Resources.ResourceManager ResourceManager { 41 | get { 42 | if ((resourceMan == null)) { 43 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FluentDesignTemplate.Properties.Resources", typeof(Resources).Assembly); 44 | resourceMan = temp; 45 | } 46 | return resourceMan; 47 | } 48 | } 49 | 50 | /// 51 | /// Overrides the current thread's CurrentUICulture property for all 52 | /// resource lookups using this strongly typed resource class. 53 | /// 54 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 55 | internal static global::System.Globalization.CultureInfo Culture { 56 | get { 57 | return resourceCulture; 58 | } 59 | set { 60 | resourceCulture = value; 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace FluentDesignTemplate.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default { 23 | get { 24 | return defaultInstance; 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/ViewResourceDictionary.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 29 | 38 | 39 | 50 | 51 | 64 | 65 | 69 | 95 | 119 | 147 | 148 | -------------------------------------------------------------------------------- /CS/FluentDesignTemplate/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Images/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/Images/preview.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This code example is provided "as is" without warranty of any kind. Developer Express Inc ("DevExpress") disclaims all warranties, 2 | either express or implied, including the warranties of merchantability and fitness for a particular purpose. 3 | 4 | For licensing terms and conditions of DevExpress product(s) required for, or associated with the use of this code example, 5 | please refer to the applicable End-User License Agreement at https://www.devexpress.com/Support/licensingfaq.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ![](https://img.shields.io/endpoint?url=https://codecentral.devexpress.com/api/v1/VersionRange/352598134/20.2.6%2B) 3 | [![](https://img.shields.io/badge/Open_in_DevExpress_Support_Center-FF7200?style=flat-square&logo=DevExpress&logoColor=white)](https://supportcenter.devexpress.com/ticket/details/T985945) 4 | [![](https://img.shields.io/badge/📖_How_to_use_DevExpress_Examples-e9f6fc?style=flat-square)](https://docs.devexpress.com/GeneralInformation/403183) 5 | [![](https://img.shields.io/badge/💬_Leave_Feedback-feecdd?style=flat-square)](#does-this-example-address-your-development-requirementsobjectives) 6 | 7 | # Create a Unique Design for a WPF View using Appearance Options 8 | 9 | This example creates a view styled according to [Fluent Design](https://docs.microsoft.com/en-us/windows/apps/fluent-design-system) with DevExpress components. 10 | 11 | ![Alt text](Images/preview.png) 12 | 13 | Here are the main controls used in the view: 14 | 1. [ThemedWindow](https://docs.devexpress.com/WPF/DevExpress.Xpf.Core.ThemedWindow) - the window with the acrylic effect 15 | 2. [AccordionControl](https://docs.devexpress.com/WPF/118347/controls-and-libraries/navigation-controls/accordion-control) - the navigation control on the left 16 | 3. [MainMenuControl](https://docs.devexpress.com/WPF/DevExpress.Xpf.Bars.MainMenuControl) with [bar items](https://docs.devexpress.com/WPF/6553/controls-and-libraries/ribbon-bars-and-menu/bars/populating-bars/items-and-links) - the user menu in the top right corner 17 | 4. [ListBoxEdit](https://docs.devexpress.com/WPF/DevExpress.Xpf.Editors.ListBoxEdit) - the galleries in the main part 18 | 5. [ButtonEdit](https://docs.devexpress.com/WPF/DevExpress.Xpf.Editors.ButtonEdit) - the search field in the window header 19 | 20 | 21 | We used the following features to achieve this design: 22 | 23 | 1. [Acrylic effect](https://docs.devexpress.com/WPF/401394/common-concepts/fluent-design-support#acrylic-window-background): 24 | 25 | ```xaml 26 | 33 | 34 | 35 | 36 | 37 | 38 | ``` 39 | 40 | 3. [Theme palettes](https://docs.devexpress.com/WPF/400728/common-concepts/themes/palettes) to customize theme colors: 41 | 42 | ```csharp 43 | var custompalette = new ThemePalette("CustomPalette"); 44 | custompalette.SetColor("Foreground", Colors.White); 45 | custompalette.SetColor("Focused", (Color)ColorConverter.ConvertFromString("#A04B647A")); 46 | custompalette.SetColor("HoverBackground", (Color)ColorConverter.ConvertFromString("#1FFFFFFF")); 47 | //… 48 | var customtheme = Theme.CreateTheme(custompalette, Theme.Office2019Black); 49 | Theme.RegisterTheme(customtheme); 50 | ApplicationThemeHelper.ApplicationThemeName = customtheme.Name; 51 | ``` 52 | 53 | 4. [SVG image palettes](https://docs.devexpress.com/WPF/120131/common-concepts/images/svg-images#svg-image-palettes): 54 | 55 | ```xaml 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | ``` 66 | 67 | 5. [SimpleButtons](https://docs.devexpress.com/WPF/DevExpress.Xpf.Core.SimpleButton) with a corner radius: 68 | 69 | ```xaml 70 | 89 | ## Does this example address your development requirements/objectives? 90 | 91 | [](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=wpf-create-a-fluent-design-using-appearance-options&~~~was_helpful=yes) [](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=wpf-create-a-fluent-design-using-appearance-options&~~~was_helpful=no) 92 | 93 | (you will be redirected to DevExpress.com to submit your response) 94 | 95 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29709.97 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "FluentDesignTemplate", "FluentDesignTemplate\FluentDesignTemplate.vbproj", "{8BCBF199-84BE-44F9-B077-66D966EBE269}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {8BCBF199-84BE-44F9-B077-66D966EBE269}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {03F9B04A-23DA-4B25-A089-8CADB7528685} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/App.xaml.vb: -------------------------------------------------------------------------------- 1 | Imports DevExpress.Xpf.Core 2 | Imports System.Windows 3 | Imports System.Windows.Media 4 | 5 | Namespace FluentDesignTemplate 6 | 7 | ''' 8 | ''' Interaction logic for App.xaml 9 | ''' 10 | Public Partial Class App 11 | Inherits Application 12 | 13 | Protected Overrides Sub OnStartup(ByVal e As StartupEventArgs) 14 | Dim custompalette = New ThemePalette("CustomPalette") 15 | custompalette.SetColor("Foreground", Colors.White) 16 | custompalette.SetColor("Focused", CType(ColorConverter.ConvertFromString("#A04B647A"), Color)) 17 | custompalette.SetColor("HoverBackground", CType(ColorConverter.ConvertFromString("#1FFFFFFF"), Color)) 18 | custompalette.SetColor("HoverBorder", CType(ColorConverter.ConvertFromString("#1FFFFFFF"), Color)) 19 | custompalette.SetColor("Border", CType(ColorConverter.ConvertFromString("#4F0B0A15"), Color)) 20 | custompalette.SetColor("SelectionBackground", CType(ColorConverter.ConvertFromString("#5E8B99A3"), Color)) 21 | custompalette.SetColor("SelectionBorder", CType(ColorConverter.ConvertFromString("#5E8B99A3"), Color)) 22 | custompalette.SetColor("ControlLight.SelectionBackground", CType(ColorConverter.ConvertFromString("#5E8B99A3"), Color)) 23 | custompalette.SetColor("Control.SelectionBackground", CType(ColorConverter.ConvertFromString("#5E8B99A3"), Color)) 24 | custompalette.SetColor("Control.HoverBackground", CType(ColorConverter.ConvertFromString("#2E8B99A3"), Color)) 25 | custompalette.SetColor("Editor.Background", CType(ColorConverter.ConvertFromString("#FF70787E"), Color)) 26 | custompalette.SetColor("Window.Background", CType(ColorConverter.ConvertFromString("#FF70787E"), Color)) 27 | custompalette.SetColor("Button.Background", CType(ColorConverter.ConvertFromString("#4F0B0A15"), Color)) 28 | custompalette.SetColor("SelectionForeground", CType(ColorConverter.ConvertFromString("White"), Color)) 29 | Dim customtheme = Theme.CreateTheme(custompalette, Theme.Office2019Black) 30 | Theme.RegisterTheme(customtheme) 31 | ApplicationThemeHelper.ApplicationThemeName = customtheme.Name 32 | MyBase.OnStartup(e) 33 | End Sub 34 | End Class 35 | End Namespace 36 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/FluentDesignTemplate.vbproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | On 6 | Debug 7 | AnyCPU 8 | {8BCBF199-84BE-44F9-B077-66D966EBE269} 9 | WinExe 10 | 11 | 12 | FluentDesignTemplate 13 | v4.7.2 14 | 512 15 | {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{F184B08F-C81C-45F6-A57F-5ABD9991F28F} 16 | 4 17 | true 18 | true 19 | 20 | 21 | AnyCPU 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG,TRACE 27 | prompt 28 | 4 29 | 30 | 31 | AnyCPU 32 | pdbonly 33 | true 34 | bin\Release\ 35 | TRACE 36 | prompt 37 | 4 38 | 39 | 40 | 41 | False 42 | 43 | 44 | False 45 | 46 | 47 | False 48 | 49 | 50 | False 51 | 52 | 53 | False 54 | 55 | 56 | False 57 | 58 | 59 | False 60 | 61 | 62 | False 63 | 64 | 65 | False 66 | 67 | 68 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.dll 69 | 70 | 71 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.Mdb.dll 72 | 73 | 74 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.Pdb.dll 75 | 76 | 77 | ..\packages\Mono.Cecil.0.11.3\lib\net40\Mono.Cecil.Rocks.dll 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 4.0 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | MSBuild:Compile 104 | Designer 105 | 106 | 107 | MSBuild:Compile 108 | Designer 109 | 110 | 111 | App.xaml 112 | Code 113 | 114 | 115 | 116 | MainWindow.xaml 117 | Code 118 | 119 | 120 | Designer 121 | MSBuild:Compile 122 | 123 | 124 | 125 | 126 | Code 127 | 128 | 129 | True 130 | True 131 | Resources.resx 132 | 133 | 134 | True 135 | Settings.settings 136 | True 137 | 138 | 139 | 140 | ResXFileCodeGenerator 141 | Resources.Designer.vb 142 | FluentDesignTemplate.Properties 143 | 144 | 145 | 146 | SettingsSingleFileGenerator 147 | Settings.Designer.vb 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Balance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Balance.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Celebration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Celebration.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Competitors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Competitors.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Distribution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Distribution.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Feedback.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Meeting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Meeting.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Metrics.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Off-site event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Off-site event.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Performance Review.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Performance Review.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Produced Products.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Produced Products.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Revenue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Revenue.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Sales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Sales.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Stock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Stock.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Images/Vehicle Inspection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Images/Vehicle Inspection.png -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/MainViewModel.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Collections.ObjectModel 3 | Imports System.Windows.Media 4 | Imports System.Windows.Media.Imaging 5 | 6 | Namespace FluentDesignTemplate 7 | 8 | Public Class MainViewModel 9 | 10 | Public Property AnalysisItems As ObservableCollection(Of AnalysisItem) 11 | 12 | Public Property Reports As ObservableCollection(Of ReportItem) 13 | 14 | Public Property Events As ObservableCollection(Of EventItem) 15 | 16 | Public Sub New() 17 | AnalysisItems = New ObservableCollection(Of AnalysisItem)() From {New AnalysisItem() With {.Header = "Stock", .Text = "Market trends", .Image = GetImage("Stock.png")}, New AnalysisItem() With {.Header = "Metrics", .Text = "Key indicators", .Image = GetImage("Metrics.png")}, New AnalysisItem() With {.Header = "Competitors", .Text = "Growth rate, products, prices", .Image = GetImage("Competitors.png")}, New AnalysisItem() With {.Header = "Distribution", .Text = "Warehouse load, logistics", .Image = GetImage("Distribution.png")}, New AnalysisItem() With {.Header = "Feedback", .Text = "Requests, reviews, complaints", .Image = GetImage("Feedback.png")}} 18 | Reports = New ObservableCollection(Of ReportItem)() From {New ReportItem() With {.Header = "Balance", .Image = GetImage("Balance.png")}, New ReportItem() With {.Header = "Performance Review", .Image = GetImage("Performance Review.png")}, New ReportItem() With {.Header = "New Products", .Image = GetImage("Produced Products.png")}, New ReportItem() With {.Header = "Revenue", .Image = GetImage("Revenue.png")}, New ReportItem() With {.Header = "Sales", .Image = GetImage("Sales.png")}, New ReportItem() With {.Header = "Inspection Report", .Image = GetImage("Vehicle Inspection.png")}} 19 | Events = New ObservableCollection(Of EventItem)() From {New EventItem() With {.Header = "Meeting", .Text = "Strategy Review", .Type = EventType.Meeting}, New EventItem() With {.Header = "Office Party", .Text = "New Year’s Celebration", .Type = EventType.Celebration}, New EventItem() With {.Header = "Off-site event", .Text = "Management Training", .Type = EventType.OffSite}, New EventItem() With {.Header = "Meeting", .Text = "COVID-19 Impact", .Type = EventType.Meeting}, New EventItem() With {.Header = "Off-site event", .Text = "Conference", .Type = EventType.OffSite}} 20 | End Sub 21 | 22 | Private Function GetImage(ByVal name As String) As ImageSource 23 | Dim logo As BitmapImage = New BitmapImage() 24 | logo.BeginInit() 25 | logo.UriSource = New Uri($"pack://application:,,,/FluentDesignTemplate;component/Images/{name}") 26 | logo.EndInit() 27 | Return logo 28 | End Function 29 | End Class 30 | 31 | Public Class BaseItem 32 | 33 | Public Property Header As String 34 | 35 | Public Property Text As String 36 | 37 | Public Property Image As ImageSource 38 | End Class 39 | 40 | Public Class AnalysisItem 41 | Inherits BaseItem 42 | 43 | End Class 44 | 45 | Public Class ReportItem 46 | Inherits BaseItem 47 | 48 | End Class 49 | 50 | Public Class EventItem 51 | Inherits BaseItem 52 | 53 | Public Property Type As EventType 54 | End Class 55 | 56 | Public Enum EventType 57 | Meeting 58 | Celebration 59 | OffSite 60 | End Enum 61 | End Namespace 62 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/MainWindow.xaml.vb: -------------------------------------------------------------------------------- 1 | Imports DevExpress.Xpf.Core 2 | 3 | Namespace FluentDesignTemplate 4 | 5 | ''' 6 | ''' Interaction logic for MainWindow.xaml 7 | ''' 8 | Public Partial Class MainWindow 9 | Inherits ThemedWindow 10 | 11 | Public Sub New() 12 | Me.InitializeComponent() 13 | End Sub 14 | End Class 15 | End Namespace 16 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Properties/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.Reflection 2 | Imports System.Runtime.InteropServices 3 | Imports System.Windows 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ' Setting ComVisible to false makes the types in this assembly not visible 17 | ' to COM components. If you need to access a type in this assembly from 18 | ' COM, set the ComVisible attribute to true on that type. 19 | 20 | 'In order to begin building localizable applications, set 21 | 'CultureYouAreCodingWith in your .csproj file 22 | 'inside a . For example, if you are using US english 23 | 'in your source files, set the to en-US. Then uncomment 24 | 'the NeutralResourceLanguage attribute below. Update the "en-US" in 25 | 'the line below to match the UICulture setting in the project file. 26 | '[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 27 | '(used if a resource is not found in the page, 28 | ' or application resource dictionaries) 29 | '(used if a resource is not found in the page, 30 | ' app, or any theme specific resource dictionaries) 31 | 'where theme specific resource dictionaries are located 32 | 'where the generic resource dictionary is located 33 | ' Version information for an assembly consists of the following four values: 34 | ' 35 | ' Major Version 36 | ' Minor Version 37 | ' Build Number 38 | ' Revision 39 | ' 40 | ' You can specify all the values or you can default the Build and Revision Numbers 41 | ' by using the '*' as shown below: 42 | ' [assembly: AssemblyVersion("1.0.*")] 43 | 44 | 45 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Properties/Licenses.licx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevExpress-Examples/wpf-create-a-fluent-design-using-appearance-options/451f79a1ee6c43b41d9e34a97368e0bd65ddd2f1/VB/FluentDesignTemplate/Properties/Licenses.licx -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Properties/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | Namespace FluentDesignTemplate.Properties 11 | 12 | ''' 13 | ''' A strongly-typed resource class, for looking up localized strings, etc. 14 | ''' 15 | ' This class was auto-generated by the StronglyTypedResourceBuilder 16 | ' class via a tool like ResGen or Visual Studio. 17 | ' To add or remove a member, edit your .ResX file then rerun ResGen 18 | ' with the /str option, or rebuild your VS project. 19 | 20 | 21 | 22 | Friend Class Resources 23 | 24 | Private Shared resourceMan As Global.System.Resources.ResourceManager 25 | 26 | Private Shared resourceCulture As Global.System.Globalization.CultureInfo 27 | 28 | 29 | Friend Sub New() 30 | End Sub 31 | 32 | ''' 33 | ''' Returns the cached ResourceManager instance used by this class. 34 | ''' 35 | 36 | Friend Shared ReadOnly Property ResourceManager As Global.System.Resources.ResourceManager 37 | Get 38 | If(FluentDesignTemplate.Properties.Resources.resourceMan Is Nothing) Then 39 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Resources", GetType(FluentDesignTemplate.Properties.Resources).Assembly) 40 | FluentDesignTemplate.Properties.Resources.resourceMan = temp 41 | End If 42 | 43 | Return FluentDesignTemplate.Properties.Resources.resourceMan 44 | End Get 45 | End Property 46 | 47 | ''' 48 | ''' Overrides the current thread's CurrentUICulture property for all 49 | ''' resource lookups using this strongly typed resource class. 50 | ''' 51 | 52 | Friend Shared Property Culture As Global.System.Globalization.CultureInfo 53 | Get 54 | Return FluentDesignTemplate.Properties.Resources.resourceCulture 55 | End Get 56 | 57 | Set(ByVal value As Global.System.Globalization.CultureInfo) 58 | FluentDesignTemplate.Properties.Resources.resourceCulture = value 59 | End Set 60 | End Property 61 | End Class 62 | End Namespace 63 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Properties/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | Namespace FluentDesignTemplate.Properties 11 | 12 | 13 | 14 | Friend NotInheritable Partial Class Settings 15 | Inherits Global.System.Configuration.ApplicationSettingsBase 16 | 17 | Private Shared defaultInstance As FluentDesignTemplate.Properties.Settings = CType((Global.System.Configuration.ApplicationSettingsBase.Synchronized(New FluentDesignTemplate.Properties.Settings())), FluentDesignTemplate.Properties.Settings) 18 | 19 | Public Shared ReadOnly Property [Default] As Settings 20 | Get 21 | Return FluentDesignTemplate.Properties.Settings.defaultInstance 22 | End Get 23 | End Property 24 | End Class 25 | End Namespace 26 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/ViewResourceDictionary.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 29 | 38 | 39 | 50 | 51 | 64 | 65 | 69 | 95 | 119 | 147 | 148 | -------------------------------------------------------------------------------- /VB/FluentDesignTemplate/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoGenerateVb": true, 3 | "runOnWeb": false 4 | } --------------------------------------------------------------------------------