在WPF中要想使用Metro风格是很简单的,可以自己画嘛..

但是为了节省时间,哈,今天给大家推荐一款国外Metro风格的控件库。

本文只起到抛砖引玉的作用,有兴趣还是推荐大家上官网,Thanks,官网地址 我会在底部发出。

实现效果

其实下面仅仅是对窗体的一个简单设置,以及放了些简单的按钮,这是本文抛砖引玉的示例程序,其实还有非常多的好玩的样式,包括动画效果。

安装 MahApps.Metro

这里依然推荐使用NuGet来进行安装,如下图所示。

然后在NuGet中搜索 MahApps.Metro ,然后进行安装即可,如下图所示。

安装好之后就已经在我们的引用中完成了。

实现Metro样式三部曲

1.首先将资源引入App.xaml

  1. <Application x:Class="MetroWPF.App"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. StartupUri="MainWindow.xaml">
  5. <Application.Resources>
  6. <ResourceDictionary>
  7. <ResourceDictionary.MergedDictionaries>
  8. <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
  9. <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
  10. <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
  11. <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
  12. <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
  13. </ResourceDictionary.MergedDictionaries>
  14. </ResourceDictionary>
  15. </Application.Resources>
  16. </Application>

引入之后几乎我们所有的控件都具备了Metro样式了。

2.再把窗体换成Metro风格

在XAML状体中进行如下 xmlns 引用。

  1. xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"

然后将Window标签替换为如下标签

  1. <controls:MetroWindow ...

就ok了。

看看我的窗体的XAML完整代码吧,我加了三个控件做示例,如下所示。

  1. <controls:MetroWindow  x:Class="MetroWPF.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
  5. GlowBrush="{DynamicResource AccentColorBrush}"
  6. Title="MainWindow" Height="350" Width="525">
  7. <controls:MetroWindow.RightWindowCommands>
  8. <controls:WindowCommands>
  9. <Button Content="settings" />
  10. <Button Content="设置" />
  11. </controls:WindowCommands>
  12. </controls:MetroWindow.RightWindowCommands>
  13. <Grid>
  14. <StackPanel>
  15. <Label Margin="20">www.wxzzz.com</Label>
  16. <TextBox Margin="40,10,40,10"></TextBox>
  17. <Button>Metro Style Button</Button>
  18. </StackPanel>
  19. </Grid>
  20. </controls:MetroWindow>

3.最后一步修改窗体cs代码中的继承

  1. //引用
  2. using MahApps.Metro.Controls;
  3. namespace MetroWPF
  4. {
  5. /// <summary>
  6. /// MainWindow.xaml 的交互逻辑
  7. /// </summary>
  8. public partial class MainWindow : MetroWindow
  9. {
  10. public MainWindow()
  11. {
  12. InitializeComponent();
  13. }
  14. }
  15. }

至此,我们的示例就完成了,我们顺便再来看看官方的窗体示例吧!其实都是很简单的设置,非常好用。

本文示例源码下载:MetroWPF

官方示例地址:http://mahapps.com/guides/quick-start.html

官方控件示例地址:http://mahapps.com/controls/

MahApps.Metro 项目源码:https://github.com/MahApps/MahApps.Metro

WPF 使用MahApps.Metro UI库的更多相关文章

  1. 使用WPF来创建 Metro UI程序

    本文转载:http://www.cnblogs.com/TianFang/p/3184211.html 这个是我以前网上看到的一篇文章,原文地址是:Building a Metro UI with W ...

  2. 示例:自定义WPF底层控件UI库 HeBianGu.General.WpfControlLib V2.0版本

    原文:示例:自定义WPF底层控件UI库 HeBianGu.General.WpfControlLib V2.0版本 一.目的:封装了一些控件到自定义的控件库中,方便快速开发 二.实现功能: 基本实现常 ...

  3. WPF 皮肤之MathApps.Metro UI库

    在WPF中要想使用Metro风格是很简单的,可以自己画嘛.. 但是为了节省时间,哈,今天给大家推荐一款国外Metro风格的控件库. 本文只起到抛砖引玉的作用,有兴趣还是推荐大家上官网,Thanks,官 ...

  4. WPF之MahApps.Metro下载和WPF学习经验

    这几天一直在学习WPF的东西.刚开始以为和Winform一样.拖拽控件来进行布局.结果远远没有那么简单.很多东西都需要自己写.包括样式.今天给大家分享一个 MahApps.Metro. 首先在NuGe ...

  5. 使用WPF来创建 Metro UI

    当我第一次运行Zune时,我为这些美丽的UI所折服.当时就说这肯定不是用WPF做的,因为这些字体是如此的清晰而且UI反映的也非常快速..而且我从维基百科上也了解到Zune的第一个版本是2006年发布的 ...

  6. C# WPF开源控件库:MahApps.Metro

    其实站长很久之前就知道这个开源WPF控件库了,只是一直欣赏不了这种风格,但也star了该项目.每次浏览该仓库时,发现star越来越多,也看到很多网友对它的褒奖,所以今天就向大家推荐这款WPF控件库. ...

  7. MahApps.Metro扁平化UI控件库(可修改主题色等)

    一.名词解释 使用MahApps.Metro扁平化UI控件库,可以使界面呈现更加美观.本文将总结MahApps.Metro的使用方法,及如何自定义修改其主题颜色等. 详细内容可参考官网:https:/ ...

  8. WPF相关UI库

    免费控件库: 1.Extended WPF Toolkit 官方拓展控件 http://wpftoolkit.codeplex.com/ 2.avalondock 可停靠布局(wpf toolkit包 ...

  9. 在 WPF 中使用 MahApps.Metro.IconPacks 提供的大量图标

    MahApps.Metro.IconPacks https://github.com/MahApps/MahApps.Metro.IconPacks 提供了大量的高质量的图标供WPF使用,极其方便. ...

随机推荐

  1. 解决Tomcat加载时报APR错的问题

    部署Tomcat的时候出现了如下错误, INFO: The APR based Apache Tomcat Native library which allows optimal performanc ...

  2. 51nod-1670-打怪兽(递推/组合数学)

    1670 打怪兽  基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 lyk在玩一个叫做“打怪兽”的游戏.游戏的规则是这样的.lyk一开始会有一个初始 ...

  3. underscore || lodash

    1.http://www.css88.com/archives/5443 (underscore) let list = _.filter(record.orderGoodsList, item =& ...

  4. scrapy 6023 telnet查看爬虫引擎相关状态

    Telnet终端(Telnet Console) Scrapy提供了内置的telnet终端,以供检查,控制Scrapy运行的进程. telnet仅仅是一个运行在Scrapy进程中的普通python终端 ...

  5. day6-面向对象补充篇--类的特殊成员

    先说明一下,今天的内容主要转自师兄张其高的博客http://www.cnblogs.com/zhangqigao/articles/6935221.html 前面我们讲了类的方法,有普通方法,就是我们 ...

  6. 转:基于Flume的美团日志收集系统(一)架构和设计

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

  7. 练习-99乘法表 token生成器 翻译小工具

    一.99乘法表 1.1 技术点 记住: for 循环的使用,以及for的嵌套使用 range()的使用,掌握sep为负数的使用的使用. print() 函数的使用,默认的结尾的换行符 替换 end= ...

  8. Zabbix在CentOS7上的安装方法:

    ).zabbix-server 要安装zabbix-server首先需要安装MySQL数据库,当然你可以将MySQL换成其他的数据库 1.1)创建zabbix数据库:CREATE DATABASE z ...

  9. C++复习15.指针知识

      C++复习15.指针知识 4.指针知识      在Tencent 笔试和面试中都考到了 C/C++中的指针知识,因为自己很不喜欢使用指针,所以才开始学习 Java的,但是现在看来还是躲不掉的,所 ...

  10. 六.dbms_session(提供了使用PL/SQL实现ALTER SESSION命令)

    1.概述 作用:提供了使用PL/SQL实现ALTER SESSION命令,SET ROLE命令和其他会话信息的方法 .2.包的组成 1).set_identifier说明:用于设置会话的客户ID号.语 ...