随笔- 66  文章- 0  评论- 98 

一个Metro风格的开源项目 MahApps.Metro

目录:

Metro风格控件

Metro主题

MahApps.Metro文档地址:http://mahapps.com/MahApps.Metro/

源码地址:https://github.com/MahApps/MahApps.Metro

在VS中可以装一个NuGet插件来下载MahApps.Metro.dll和MahApps.Metro.Resources.dll。

MahApps.Metro文档写的很详细了。可以先了解下如何使用。在往下看这篇文章。

文档也给出了一些Examples:

  • Windows Phone Power Tools
  • XamlSpy
  • MahChats
  • MarkPad
  • Carnac

Metro风格控件

MahApps.Metro大概有16个自定义控件。

1、AppBarButton继承Button,在Button上增加了Visual类的属性。用来改变可视化界面。

2、LayoutInvalidationCatcher在逻辑树中测绘Child所需的空间。

3、MetroContentControl这个控件主要是在TabControl切换的时候,给它一些切换的动画。同时必须配合ReloadBehavior.OnSelectedTabChanged这个附加属性。

4、MetroImage这个AppBarButton类似,只是模板Style不同。

5、MetroProgressBar继承ProgressBar,也就是对进度条模板重写。加了动画,类似于Loading效果。

6、Panorama继承于ItemsControl,设置Item的高度,宽度还有动画效果。

7、PanoramaItem是一个继承于ContentControl自定义控件,他增加了header,HeaderOpacity,HeaderTemplate,Orientation的依赖属性。

8、Planerator控制子控件的旋转。

9、ProgressIndicator和MetroProgressBar类似,效果图,也是一种加载动画控件。ProgressIndicator主要是以xaml来写的,而MetroProgressBar主要是以代码来写的。

10、ProgressRing和上面的类似

11、RevealImage给ImageSource增加些鼠标移动到上面的动画效果。

12、Title 继承于Button,多了几个依赖属性(Title,Count,KeepDragging,TitleFactor)

13、ToggleSwitch继承于ToggleButton,

14、ToggleSwitchButton和ToggleSwitch类似主要实现这种开关效果。

15、TransitioningContentControl控件内容动态出现和消失。

16、WindowCommands实现了窗体的最小化,还原,最大化,关闭功能。就是Window窗体上面的边框。这里文档上也写到不能自动绑定Caliburn.Macro的事件命令。必须写cal:Message.Attach来绑定。x:Name自动绑定的写法失效了。

Metro主题

ThemeManager这个类,来改变主题风格。源码里面有白色和黑色两套背景主题(BaseLight.xaml和BaseDark.xaml)

通过ThemeManager.ChangeTheme改变主题颜色。

作者:dingli 
出处:http://www.cnblogs.com/dingli/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

一个Metro风格的开源项目 MahApps.Metro相关推荐

  1. bestpay学习 - - 一个轻量级的完全开源项目

    NUTZ  一个轻量级的完全开源项目 * 讲义:bestpay * 讲义创建:2018年6月13日10:49:22 设计背景 随着脚本语言所刮起的开发热潮,Java在Web开发领域逐渐露出疲态,而Ja ...

  2. IntelliJ IDEA-ssm使用IDEA导入一个Maven风格的ssm项目

    介绍 上一个知识点创建 SSM项目是讲解如何从0创建一个maven风格的ssm项目. 而大部分ssm项目都是现成的,不需要自己从头创建,所以本知识点演示如何把现成maven风格的ssm项目导入到Ide ...

  3. 有哪些值得推荐的c++11风格的开源项目?

    有哪些值得推荐的c++11风格的开源项目? https://www.zhihu.com/question/23511894 12 个回答 徐辰 正在找能远程上班的工作 有几个我觉得挺好玩的C++11/ ...

  4. metro 风格 php源码,Win8 Metro UI风格Web素材样式资源合集

    最近微软已经正式发布了Windows8操作系统,Window操作系统的风格已经完全改变成了瓦片状的Metro UI. 对于微软来说这是一个巨大的改变,而且所有微软的平台包括,桌面,平板,移动及其网站都 ...

  5. java点播项目_介绍一个P2P点播直播开源项目,挺不错的

    使用平台: 客户端:Windows平台 服务器:Windows & Linux 框架图例: 项目简介: P2P点播直播开源项目是一个由Kevin发起,多人参与开发并不断更新,符合GPL开源协议 ...

  6. 我为什么放弃一个25000星的开源项目

    Faker是一个流行的模拟数据生成库,只要简单的几步操作,就可以在浏览器和Node.js中生成大量的假数据,GitHub的star一度超过25000星,但是Faker的开发人员 François Za ...

  7. 快速搭建一个restful风格的springboot项目

    1.创建一个工程. 2.引入pom.xml依赖,如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi ...

  8. HTML + CSS + JS做一个绘画分享网站[开源项目]

    声明:1.此项目仅仅代码开源,DrawPark是此博客的产权,严禁盗用 2.此项目暂时是静态网站 先看一下效果图吧!预览网址:https://drawpark.rth.app/ HTML代码 ​< ...

  9. 如何重构一个过万Star开源项目—BetterScroll

    过去的 v1 时代 距离 BetterScroll v1 版本发布,至今已经 3 年多,由于它在移动端良好的滚动体验与性能以及多种滚动场景的支持,深受社区的青睐.用户也可以基于 BetterScrol ...

最新文章

  1. C++ VS2013环境编译使用sqlite数据库全过程
  2. Android源码设计模式分析项目
  3. app 注册防刷 php,手机验证码设计和防刷制度
  4. 一个ASP站内搜索的实例源代码
  5. 谷歌Android系统在美成宠儿
  6. mqtt android封装,Android之MQTT封装使用
  7. java语言语法--- Java标识符(标识符命名规则)、Java关键字、Java变量(变量的声明、赋值、使用)和常量(字符常量、字面常量)(包括Java字节码文件反汇编命令javap)
  8. mkfs -t ext3 错误/dev/sdxx is apparently in use by the system; 解决方法
  9. 15 位健在的牛叉程序员,你知道哪几位?
  10. C++|Qt最简单的http的get请求
  11. 记一次library cache lock/library cache pin导致的函数编译hang住分析及处理过程
  12. 力扣算法题—095不同的二叉搜索树【二叉树】
  13. nginx 根据目录指定root_CentOS(7.6)基本操作与Nginx配置
  14. eclipse 调试nodejs 发生Failed to connect to standalone V8 VM错误的解决方案
  15. 多个select count 合并_Milvus查询合并机制
  16. 深度学习(一)神经网络中的池化与反池化原理
  17. matlab最后ceq,求解 minimax 约束问题
  18. 小程序上传图片加水印
  19. 可变参数宏...和__VA_ARGS__
  20. [高项]管理沟通VS控制沟通

热门文章

  1. python制作节日贺卡
  2. 植物大战僵尸:代码实现自动收集阳光
  3. crontab: error renaming解决方法
  4. 金融危机殃及色*情业,女*优转行做黑客?
  5. SVN the working copy needs to be upgraded svn 解决办法
  6. ICLR 2022:​PiCO,基于对比消歧的偏标签学习 丨AI Drive
  7. 利用OpenCV进行图像伽马校正
  8. 基于图数据库的新型肺炎传染图谱建模与分析
  9. Procmon 的使用
  10. 2022全国高职院校教师真实薪酬数据汇总