一个Metro风格的开源项目 MahApps.Metro
一个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相关推荐
- bestpay学习 - - 一个轻量级的完全开源项目
NUTZ 一个轻量级的完全开源项目 * 讲义:bestpay * 讲义创建:2018年6月13日10:49:22 设计背景 随着脚本语言所刮起的开发热潮,Java在Web开发领域逐渐露出疲态,而Ja ...
- IntelliJ IDEA-ssm使用IDEA导入一个Maven风格的ssm项目
介绍 上一个知识点创建 SSM项目是讲解如何从0创建一个maven风格的ssm项目. 而大部分ssm项目都是现成的,不需要自己从头创建,所以本知识点演示如何把现成maven风格的ssm项目导入到Ide ...
- 有哪些值得推荐的c++11风格的开源项目?
有哪些值得推荐的c++11风格的开源项目? https://www.zhihu.com/question/23511894 12 个回答 徐辰 正在找能远程上班的工作 有几个我觉得挺好玩的C++11/ ...
- metro 风格 php源码,Win8 Metro UI风格Web素材样式资源合集
最近微软已经正式发布了Windows8操作系统,Window操作系统的风格已经完全改变成了瓦片状的Metro UI. 对于微软来说这是一个巨大的改变,而且所有微软的平台包括,桌面,平板,移动及其网站都 ...
- java点播项目_介绍一个P2P点播直播开源项目,挺不错的
使用平台: 客户端:Windows平台 服务器:Windows & Linux 框架图例: 项目简介: P2P点播直播开源项目是一个由Kevin发起,多人参与开发并不断更新,符合GPL开源协议 ...
- 我为什么放弃一个25000星的开源项目
Faker是一个流行的模拟数据生成库,只要简单的几步操作,就可以在浏览器和Node.js中生成大量的假数据,GitHub的star一度超过25000星,但是Faker的开发人员 François Za ...
- 快速搭建一个restful风格的springboot项目
1.创建一个工程. 2.引入pom.xml依赖,如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi ...
- HTML + CSS + JS做一个绘画分享网站[开源项目]
声明:1.此项目仅仅代码开源,DrawPark是此博客的产权,严禁盗用 2.此项目暂时是静态网站 先看一下效果图吧!预览网址:https://drawpark.rth.app/ HTML代码 < ...
- 如何重构一个过万Star开源项目—BetterScroll
过去的 v1 时代 距离 BetterScroll v1 版本发布,至今已经 3 年多,由于它在移动端良好的滚动体验与性能以及多种滚动场景的支持,深受社区的青睐.用户也可以基于 BetterScrol ...
最新文章
- C++ VS2013环境编译使用sqlite数据库全过程
- Android源码设计模式分析项目
- app 注册防刷 php,手机验证码设计和防刷制度
- 一个ASP站内搜索的实例源代码
- 谷歌Android系统在美成宠儿
- mqtt android封装,Android之MQTT封装使用
- java语言语法--- Java标识符(标识符命名规则)、Java关键字、Java变量(变量的声明、赋值、使用)和常量(字符常量、字面常量)(包括Java字节码文件反汇编命令javap)
- mkfs -t ext3 错误/dev/sdxx is apparently in use by the system; 解决方法
- 15 位健在的牛叉程序员,你知道哪几位?
- C++|Qt最简单的http的get请求
- 记一次library cache lock/library cache pin导致的函数编译hang住分析及处理过程
- 力扣算法题—095不同的二叉搜索树【二叉树】
- nginx 根据目录指定root_CentOS(7.6)基本操作与Nginx配置
- eclipse 调试nodejs 发生Failed to connect to standalone V8 VM错误的解决方案
- 多个select count 合并_Milvus查询合并机制
- 深度学习(一)神经网络中的池化与反池化原理
- matlab最后ceq,求解 minimax 约束问题
- 小程序上传图片加水印
- 可变参数宏...和__VA_ARGS__
- [高项]管理沟通VS控制沟通