WPF使用MaterialDesign样式库详解

1 简介

  • 该库提供了很多的样式,我们可以直接调用
  • GitHub官网

2 安装

官方快速入门教程

  • 我这里使用的是 VS2019,注意,建立的WPF项目的.NET框架必须在.NET4以上(不含.NET4),否则会报一堆错误
  • 【工具】-【NuGet 包管理器】-【程序包管理器控制台】
    • 输入Install-Package 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}" />

3.2 ComboBox

源码。这个我只找到一个样式
透明底黑字下划线
在这里插入图片描述在这里插入图片描述

<ComboBox HorizontalAlignment="Left" Margin="72,24,0,0" VerticalAlignment="Top" Width="92" Name="cbInputType" 
Style="{StaticResource MaterialDesignComboBox}">

3.3 Label

  • 源码
  • MaterialDesignLabel
    • 效果和原版差别不大
  • 17
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WPF MaterialDesign是一种基于WPF技术的UI设计风格,它采用了Material Design设计语言,具有简洁、美观、易用等特点。WPF MaterialDesign提供了一系列的控件和样式,可以帮助开发者快速构建现代化的应用程序界面。同时,它也支持自定义样式和主题,使得开发者可以根据自己的需求进行个性化定制。 ### 回答2: WPF MaterialDesign是一个围绕Material Design设计理念的开发框架,用于创建漂亮而功能强大的应用程序。它基于Microsoft的WPF平台,提供了许多预设的控件和样式,使开发者可以快速地创建一个美观、可交互的UI界面。它提供了丰富的控件和特效,包括按钮、卡片、切换按钮、文本框、滑块、进度条、复选框等等,这些控件减少了开发人员对UI设计的工作量,让开发人员更专注于应用程序的核心功能。 这个框架使用的是Google设计的Material Design设计语言,具有优雅简单的特点,使得UI设计更加一致性,用户界面更加美观。Material Design的核心理念是“纸片和笔刷”,它将现实世界中的物理效应和三维结构引用到UI设计中,使得应用程序的界面效果更加立体、真实。同时,Material Design对动效有严格的要求,所有的动效都是基于自然的物理原理设计的,使得UI更加有生命力。 WPF MaterialDesign不仅仅是一个UI框架,它还提供许多实用功能,例如自定义弹出框、自定义菜单等等。这使得开发人员可以在不影响界面设计的前提下,快速实现需要的功能。 总之,WPF MaterialDesign是一个优秀的UI框架,它提供了美观、流畅的用户界面,让开发人员在减少设计工作量的同时,更加专注于功能的实现。 ### 回答3: WPF MaterialDesign 是一种基于 WPF 技术的用户界面设计框架,它可以帮助开发者轻松创建更加美观、灵活、易用的应用程序。MaterialDesign 框架的设计灵感来自于 Google 的 Material Design 设计语言。 MaterialDesign 框架提供了一系列的控件、样式、布局和动画效果,这些 UI 组件可以用来构建各种类型的应用程序。这些控件包括按钮、文本框、标签、进度条、滑块、菜单等等,它们被设计成可以灵活、方便地自定义和扩展。 MaterialDesign 通过使用 XAML 语言和 WPF 技术来实现,这使得它可以轻松地与其他 .NET 技术进行集成,例如 MVVM 模式、数据绑定、Commanding、模板选择器等等,使得开发者可以更加便利地开发出高质量的应用程序。 MaterialDesign 框架还提供了一系列的工具和资源来帮助开发者使用它。例如,它有一个在线的样式生成器,开发者可以用它来自定义 MaterialDesign 的控件样式;它还有一个预制的图标,开发者可以直接使用这些图标来为他们的应用程序添加图标。 总之,WPF MaterialDesign 是一种非常实用和强大的 WPF UI 框架,它可以帮助开发者快速开发出漂亮、易用的应用程序,并且可以轻松地与其他 .NET 技术进行集成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值