1 简介
- 该库提供了很多的样式,我们可以直接调用
- GitHub官网
2 安装
我这里使用的是 VS2019,注意,建立的WPF项目的.NET框架必须在.NET4以上(不含.NET4),否则会报一堆错误
【工具】-【NuGet 包管理器】-【程序包管理器控制台】
输入也可以输入:Install-Package MaterialDesignThemes 来进行安装
如果你的解决方案里有多个项目,注意要给当前项目安装
搜索:MaterialDesignThemes
打开App.xaml
在Application 中添加属性
<Application x:Class="ChineseWordTranslate.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ChineseWordTranslate"
StartupUri="MainWindow.xaml"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes">
<!-- 上面只复制xmln:materialDesign 属性即可,下面全复制 -->
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="Lime" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
打开MainWindow.xaml
引入
<Window . . . xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" TextElement.Foreground="{DynamicResource MaterialDesignBody}" TextElement.FontWeight="Regular" TextElement.FontSize="13" TextOptions.TextFormattingMode="Ideal" TextOptions.TextRenderingMode="Auto" Background="{DynamicResource MaterialDesignPaper}" FontFamily="{DynamicResource MaterialDesignFont}"> <!-- 上面多出来的属性可以酌情添加,但必须添加xmlns:materialDesign属性 --> <!-- 下面是测试,使用了样式库中的样式 --> <Grid> <StackPanel> <materialDesign:Card Padding="32" Margin="16"> <TextBlock Style="{DynamicResource MaterialDesignHeadline6TextBlock}">My First Material Design App</TextBlock> </materialDesign:Card> </StackPanel> </Grid> </Window>
3 样式名称研究
这里慢慢更新,主要参考官方的源码,样式写在了这里,找到对应的组件,查看定义了哪些 x:Key ,这些就是我们可以使用的样式
在测试下面内容的时候
3.1 Button
矩形
MaterialDesignRaisedButton:暗紫底白字矩形
MaterialDesignRaisedLightButton:亮紫底黑字矩形
MaterialDesignRaisedDarkButton:深紫底白字矩形
MaterialDesignRaisedAccentButton:绿底黑字矩形
MaterialDesignFlatButton:白色紫字矩形
MaterialDesignFlatAccentButton:白底绿字矩形
MaterialDesignFlatAccentBgButton:绿底黑字矩形
MaterialDesignFlatLightBgButton:紫底黑字矩形
MaterialDesignFlatMidBgButton:紫底白字矩形
MaterialDesignFlatDarkBgButton:深紫底白字矩形
MaterialDesignOutlinedButton:白底紫字矩形
MaterialDesignToolButton:白底绿字矩形
MaterialDesignToolForegroundButton:白底黑字矩形
椭圆
MaterialDesignFloatingActionMiniButton:紫底白字扁椭圆
MaterialDesignFloatingActionButton:紫底白字椭圆
MaterialDesignFloatingActionMiniLightButton:亮紫底白字扁椭圆
MaterialDesignFloatingActionMiniDarkButton:深紫底白字扁椭圆
MaterialDesignFloatingActionMiniAccentButton:绿底黑字扁椭圆
MaterialDesignFloatingActionLightButton:亮紫底黑字椭圆
MaterialDesignFloatingActionDarkButton:深紫底白字椭圆
MaterialDesignFloatingActionAccentButton:绿底黑字椭圆
透明底
MaterialDesignIconButton:透明底紫字
MaterialDesignIconForegroundButton:透明底黑字
使用示例:
<!-- 注意Style中填写的内容,这里使用了绿底黑字矩形按钮 -->
<Button Content="转换" HorizontalAlignment="Left" Margin="522,25,0,0" VerticalAlignment="Top" Width="75" Name="BtTransfer" Click="Button_Click"
Style="{StaticResource MaterialDesignFlatAccentBgButton}" />
- DemoApp
- WPF控件库
- 测试使用