閱讀導航git
主要介紹使用Material Design開源控件庫的自定義顏色功能github
使用 .Net Core 3.1 建立名爲 「CustomColorDemo」 的WPF模板項目,添加兩個個Nuget庫:MaterialDesignThemes、MaterialDesignColors。express
MaterialDesign控件庫
文件【App.xaml】app
<Application x:Class="CustomColorDemo.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" /> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" /> </ResourceDictionary.MergedDictionaries> <!--PRIMARY--> <SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#349fda"/> <SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#333333"/> <SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#0288d1"/> <SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="#FFFFFF"/> <SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="#015f92"/> <SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="#FFFFFF"/> <!--ACCENT--> <SolidColorBrush x:Key="SecondaryAccentBrush" Color="#689f38"/> <SolidColorBrush x:Key="SecondaryAccentForegroundBrush" Color="#FFFFFF"/> </ResourceDictionary> </Application.Resources> </Application>
文件【MainWindow.xaml】代碼:網站
<Window x:Class="CustomColorDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800" WindowStartupLocation="CenterScreen"> <Grid> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <StackPanel Orientation="Horizontal"> <Button Style="{StaticResource MaterialDesignRaisedLightButton}" Width="90" Content="LIGHT" Margin="10"/> <Button Style="{StaticResource MaterialDesignRaisedButton}" Width="90" Content="MID" Margin="10"/> <Button Style="{StaticResource MaterialDesignRaisedDarkButton}" Width="90" Content="DARK" Margin="10"/> <Button Style="{StaticResource MaterialDesignRaisedAccentButton}" Width="90" Content="ACCENT" Margin="10"/> </StackPanel> <GroupBox Header="USING ACCENT" materialDesign:ColorZoneAssist.Mode="Accent"> <StackPanel Orientation="Horizontal"> <DatePicker Width="100" Margin="10"/> <CheckBox VerticalAlignment="Center" Content="Check Me" IsChecked="True" Margin="10"/> <ToggleButton Margin="10" VerticalAlignment="Center"/> </StackPanel> </GroupBox> <GroupBox Header="USING DARK" materialDesign:ColorZoneAssist.Mode="Dark"> <StackPanel Orientation="Horizontal"> <DatePicker Width="100" Margin="10"/> <CheckBox VerticalAlignment="Center" Content="Check Me" IsChecked="False" Margin="10"/> <ToggleButton IsChecked="True" Margin="10" VerticalAlignment="Center"/> </StackPanel> </GroupBox> </StackPanel> </Grid> </Window>
4個按鈕使用MD控件4種樣式(LIGHT、MID、DARK、ACCENT),附加屬性 materialDesign:ColorZoneAssist.Mode 能夠修改 GroupBox 的 Header 背景色,主要看 GroupBox 內的控件,CheckBox 與 ToggleButton 的外觀已經修改。.net
除非註明,文章均由 Dotnet9 整理髮布,歡迎轉載。
轉載請註明本文地址:https://dotnet9.com/7187.html
歡迎掃描下方二維碼關注 Dotnet9 的微信公衆號,本站會及時推送最新技術文章
code