一个Metro风格的开源项目 MahApps.Metro
2015-09-02 15:05
603 查看
随笔- 66 文章- 0 评论- 98
目录:
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
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实现了窗体的最小化,还原,最
a690
大化,关闭功能。就是Window窗体上面的边框。这里文档上也写到不能自动绑定Caliburn.Macro的事件命令。必须写
ThemeManager这个类,来改变主题风格。源码里面有白色和黑色两套背景主题(BaseLight.xaml和BaseDark.xaml)
通过ThemeManager.ChangeTheme改变主题颜色。
作者:dingli
出处:http://www.cnblogs.com/dingli/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
一个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实现了窗体的最小化,还原,最
a690
大化,关闭功能。就是Window窗体上面的边框。这里文档上也写到不能自动绑定Caliburn.Macro的事件命令。必须写
cal:Message.Attach来绑定。x:Name自动绑定的写法失效了。
Metro主题
ThemeManager这个类,来改变主题风格。源码里面有白色和黑色两套背景主题(BaseLight.xaml和BaseDark.xaml)通过ThemeManager.ChangeTheme改变主题颜色。
作者:dingli
出处:http://www.cnblogs.com/dingli/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章推荐
- Unity3D自己常用代码
- Unity3D自己常用代码
- unity3d 单例模式
- Android基础入门教程——6.2 数据存储与访问之——SharedPreferences保存用户偏好参数
- android SDK更新方法总结
- 微信JS接口安全域名填写ip地址
- Android实现虚线的方法
- Android编程初见(小白学习篇)
- Objective-C 学习笔记 9 多态,动态类型,动态绑定
- cocostudio的BitmapLabel字体替换
- eclipse启动时报错org.eclipse.core.runtime.AssertionFailedException: assertion failed: The application ...
- JSONObject介绍与操作
- onActivityResult--onResume调用顺序(转载)
- 编写高质量的Objective-C代码
- objective c代码规范
- Android 文件上传(客户端+服务端)
- android 开发中获取View视图的宽和高的几种方法
- MFC中App,Doc,MainFrame,View各指针的互相获取
- webapp开发框架推荐以及优缺点分析【webAPP干货】
- iOS应用间共享数据