Windows Phone 调整屏幕亮度的简单实现
来源:互联网 发布:ext json 编辑:程序博客网 时间:2024/06/05 05:05
之前看到以及其它应用都有调节屏幕亮度的功能,还以为MS有相关的API,就去MSDN找了下,但是怎么都找不到。今天突然想到做自定义MessageBox时,由于要突出弹出框部分,所以会改变LayoutRoot的opacity属性,以达到屏幕暗下来的效果,于是马上试了下,结果是可行的。添加一个Slider,并将其Value熟性绑定到LayoutRoot的Opcity属性上,这样一来,在滑动Slider时,LayoutRoot的Opcaity就会改变,也就达到了我们想要的效果。代码很也简单:
<
Grid
x:Name
=
"LayoutRoot"
Background
=
"Transparent"
Opacity
=
"{Binding ElementName=slider, Path=Value}"
>
<
Slider
x:Name
=
"slider"
Height
=
"100"
Minimum
=
"0.1"
Maximum
=
"1"
Value
=
"1"
/>
由于之前认为这个只能改变当前的Opacity,所以又想了一个方法,利用Behavior,这个东东真是让我爱不释手啊。具体思路就是去的当前app的PhoneApplicationFrame,它也包含一个Opcity的依赖属性,所以我们可以从这一点入手。代码也很简单:
public class ChangeBrightnessBehavior : Behavior<Slider>{ PhoneApplicationFrame frame; protected override void OnAttached() { base.OnAttached(); this.AssociatedObject.ValueChanged += AssociatedObject_ValueChanged; } void AssociatedObject_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { if (frame == null) frame = App.Current.RootVisual as PhoneApplicationFrame; frame.Opacity = e.NewValue; } protected override void OnDetaching() { this.AssociatedObject.ValueChanged -= AssociatedObject_ValueChanged; frame = null; base.OnDetaching(); }}
使用的时候如果闲前台添加行为太麻烦,还可以使用后置代码进行添加:
1System.Windows.Interactivity.Interaction.GetBehaviors(slider).Add(new ChangeBrightnessBehavior());
Ps:注意引入相应的命名空间,slider的最小值设为0.1是因为当Opacity值为0时,元素是不可见的,屏幕全黑了,连slider都看不见了,UE就不好了,建议稍微设高一点。
本文来自hamguy博客,原文地址:http://www.hamguy.info/?p=533
- Windows Phone 调整屏幕亮度的简单实现
- android屏幕亮度的调整
- android屏幕亮度的调整
- 调整屏幕亮度的方法
- 使用Windows Api来调整屏幕亮度
- iOS获取屏幕亮度和调整屏幕亮度的方法
- linux 笔记本调整屏幕亮度的方法
- 如何调整Ubuntu的屏幕亮度
- win10屏幕亮度无法调整的原因
- 调整屏幕亮度
- 调整屏幕亮度
- hardware 调整屏幕亮度
- android屏幕亮度调整
- android调整屏幕亮度
- Android 调整屏幕亮度
- Android调整屏幕亮度和改变屏幕亮度调整模式的代码
- Android调整屏幕亮度和改变屏幕亮度调整模式的代码
- Android 实现调整屏幕亮度,以及自动适应
- 黑马程序员_Java基础(环境搭建、进制转换、运算符)
- 1003 Hangover
- const 变量的问题
- 浅析组织结构与个人发展的关系
- 在C++中子类继承和调用父类的构造函数方法
- Windows Phone 调整屏幕亮度的简单实现
- 如何提高网页的运行速度
- Linux下Sniffer程序的实现
- webservice的header详解
- C++的重载,覆盖,隐藏
- SCOI2012——喵星人的点名(后缀数组)
- AS3 位运算
- java 动态AOP
- 剑指offer面试题20顺时针打印矩阵