概述

今天要带大家了解的是一款WPF的开源控件库MahApps.Metro。MahApps.Metro是用于创建现代WPF应用程序的工具包,它许多开箱即用的好东西。目前支持的NET Framework 4.6.2及更高版本、.NET Core 3.1, .NET 5 and .NET 6 (on Windows)。官网学习文档地址:https://mahapps.com/docs/

风格赏析

  • Theme有两款,深色和浅色:下面只展示浅色主题

  • Progress进度条:这里提供了好几款,样式很优雅

  • datagrid:表格控件

  • hamburger

  • Dialogs:消息弹框

用法介绍

看了上面的控件风格,想必有很多小伙伴已经迫不及待想知道这套控件库如何在自己项目中使用了,接下来小编就带你正式体验MahApps.Metro.

首先,创建项目,然后在github上搜索引用:如果要体验预先发型版,可以勾选图片中红框部分

  1. MahApps内置风格和主题:

    <Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! --><ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /><ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /><!-- Theme setting --><ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Blue.xaml" /></ResourceDictionary.MergedDictionaries></ResourceDictionary></Application.Resources>
  2. 使用MetroWindows:要开始全面的MahApps造型和全面的窗口支持,您需要将您的普通窗口更改为我们的MetroWindows。

    打开你的主窗口,通常命名为MainWindow.xaml,在打开窗口标记中添加名称空间属性

    xmlns:mah="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
    或者
    xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
  3. 前台xmal全部代码如下:

    <mah:MetroWindow x:Class="WpfApp8.StartView"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:mah="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"xmlns:cal="http://www.caliburnproject.org" xmlns:local="clr-namespace:WpfApp8"mc:Ignorable="d"GlowBrush="{DynamicResource MahApps.Brushes.Accent}"ResizeMode="CanResizeWithGrip"Title="StartView" Height="300" Width="600" WindowStartupLocation="CenterScreen"><StackPanel><TextBox Name="TextContent"/><Button x:Name="testBtn" Content="testBtn"   Background="LightCyan"/><ListBox Name="ListBoxItems"  MinHeight="230" Background="LightGray"cal:Message.Attach="[Event SelectionChanged] = [Action ListBoxItems_SelectionChanged($source,$eventArgs)];[Event MouseUp]=[ListBoxItems_MouseUp($source,$eventArgs)]"/></StackPanel>
    </mah:MetroWindow>
  4. 您还需要修改窗口文件的代码,以便基类与XAML文件的MetroWindow类匹配:

    using MahApps.Metro.Controls;namespace WpfApp8
    {/// <summary>/// StartView.xaml 的交互逻辑/// </summary>public partial class StartView : MetroWindow{public StartView(){InitializeComponent();}}
    }

    这样保存后重新编译运行,就会看到窗体的样式已经发生改变,完全变成了Metro风格。

    运行结果

源码下载

百度网盘链接:https://pan.baidu.com/s/1dD8HaoVDz6G8xeipRWaQ-Q

提取码:6666

介绍一款受欢迎的.NET 开源UI库相关推荐

  1. 介绍一款最受欢迎的.NET 开源UI库

    概述 今天要带大家了解的是一款WPF的开源控件库MahApps.Metro.MahApps.Metro是用于创建现代WPF应用程序的工具包,它许多开箱即用的好东西.目前支持的NET Framework ...

  2. 12 款最棒 Vue 开源 UI 库测评 - 特别针对国内使用场景推荐

    本文首发:<12 款最棒 Vue 开源 UI 库测评 - 特别针对国内使用场景推荐> Vue 3 发布已经有一段时间了,就在刚刚过去的一年,各大组件库.框架纷纷对 Vue 3 做了优化和支 ...

  3. antd table设置表格一个单元格的字体颜色_开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件

    背景 有这样一个需求,一位 React Suite (以下简称 rsuite)的用户,他需要一个 Table 组件能够像 Jira Portfolio 一样,支持树形数据,同时需要支持大数据渲染. 截 ...

  4. [教程]微信官方开源UI库-WeUI使用方法【申明:来源于网络】

    [教程]微信官方开源UI库-WeUI使用方法 [ 教程]微信官方开源UI库-WeUI使用方法 地址:http://www.weui.org.cn/?/article/1 微信公众号开发-WeUI使用说 ...

  5. React主流开源UI库分析(附优质管理端模板)

    以下列举了一些React主流的开源UI库,希为某些所谓的大厂不要再重复造轮子,当然,确实有情怀笔者也为你点赞: 从Star及Fork数据来看,国内以Ant Design为主,国外以Material U ...

  6. 介绍一款基于SpringBoot开发OA开源产品

    办公自动化(OA)是面向组织的日常运作和管理,员工及管理者使用频率最高的应用系统,极大提高公司的办公效率. 1.项目介绍 oasys是一个OA办公自动化系统,使用Maven进行项目管理,基于sprin ...

  7. 几款好用的微信开发ui库

    一.WeUI WEUI是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库,由微信官方设计团队和小程序团队为微信小程序量身设计,令用户的使用感知更加统一. 官方 ...

  8. android 开源UI库

    https://github.com/DayorNight/BLCS Android最全UI库合集_紫色的路的博客-CSDN博客_android ui组件库

  9. 常用工具:介绍一款免费开源录屏工具-captura

    网上能搜到的大部分录屏工具表面打着免费的旗号,实际上下载之后不是有水印就是限制分辨率和时长,介绍一款免费无水印的开源录屏截屏工具captura. 准备工作 要使用这个工具,必须事先在电脑上安装ffmp ...

最新文章

  1. 剑指offer-数组中出现次数超过一半的数字
  2. java 日志脱敏框架 sensitive,优雅的打印脱敏日志
  3. linux系统安装后需要的有效小工具(持续更新)
  4. ups容量计算和配置方法_干货 | ups的空开、电缆及电池的配置计算
  5. C语言 | 卡尔曼滤波算法2——算法分析
  6. 使用jstat的JVM统计信息
  7. js设置select列表中特定项为选中状态
  8. zkServer.cmd 闪退
  9. (转)Hibernate框架基础——映射集合属性
  10. 轻芒联合创始人、CTO 范怀宇亲述《使用小程序做交互的技巧》
  11. javamail发送邮件,解决被垃圾邮件问题
  12. Ubuntu操作U盘相关
  13. Discuz! X2.5 添加风格模板
  14. paip.php eclipse output echo 乱码
  15. 汇川500et变频器源码,说明书,解析文档等
  16. python自动加减法_python实现随机加减法生成器
  17. Linux接蓝牙音响无声音,win10蓝牙音箱没有声音怎么办_win10蓝牙音响连接成功没声音处理方法...
  18. java中计算文件的md5,Java计算文件MD5值代码
  19. 香农编码、费诺编码、哈弗曼编码
  20. vue 二级路由嵌套和二级路由高亮问题

热门文章

  1. 执行yum:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again...
  2. Discuz!NT博客非官方升级!!
  3. Red hat6.4重新安装yum
  4. kaggle入门项目:Titanic存亡预测(三)数据可视化与统计分析
  5. Echart..js插件渲染报错 data.length1?
  6. 设计模式建议学习顺序
  7. Teams中的快捷键让沟通协作更加高效
  8. api游戏编程鼠标选择拖动_如何选择合适的游戏鼠标
  9. 攻防 logmein_如何使用LogMeIn Hamachi在任何地方访问文件
  10. file协议 控制面板_如何在Windows File Explorer导航窗格中显示控制面板和回收站