Windows Phone 8.1中AppBarToggleButton的绑定问题
在WP8.1中,应用栏按钮已经可以支持绑定了,而且提供了一种AppBarToggleButton类型,相当于一种开关按钮,这种按钮有一个属性IsChecked,标记是否为选中状态。
于是想当然的,将IsChecked绑定到某个属性上,并设置为双向绑定。结果却发现,不起作用,该属性变化时,无法通知AppBarToggleButton的IsChecked属性进行更改。
于是写了一个扩展属性来实现这个目的,代码如下:
public class ToggleButtonProperties{public static readonly DependencyProperty IsCheckedProperty =DependencyProperty.RegisterAttached("IsChecked",typeof(bool),typeof(ToggleButtonProperties),new PropertyMetadata(false, OnChanged));public static bool GetIsChecked(DependencyObject obj){return (bool)obj.GetValue(IsCheckedProperty);}public static void SetIsChecked(DependencyObject obj, bool value){obj.SetValue(IsCheckedProperty, value);}private static void OnChanged(DependencyObject o,DependencyPropertyChangedEventArgs args){ToggleButton tb = o as ToggleButton;if (null != tb)tb.IsChecked = (bool)args.NewValue;}}
使用的时候这样绑定:
<AppBarToggleButton Icon="Comment" Label="评论" controlHelper:ToggleButtonProperties.IsChecked="{Binding IsShowComments}" Command="{Binding CommandNavToComments}" />
这样就可以同步属性的变化了。
Windows Phone 8.1中AppBarToggleButton的绑定问题相关推荐
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...
- Windows Presentation Foundation (WPF)中的命令(Commands)简述
Windows Presentation Foundation (WPF)中的命令(Commands)简述 原文:Windows Presentation Foundation (WPF)中的命令(C ...
- vue与elementUI中给el-input绑定键盘按键--按键修饰符
vue怎么写键盘事件 vue允许将按键值作为修饰符来使用,如监听回车事件,有两种写法,如下代码: <input type="text" @keyup.13="con ...
- 如何在.NET中启用程序集绑定失败日志记录(Fusion)
如何在.NET中启用程序集绑定失败日志记录(Fusion)? #1楼 如果您已经启用了日志记录,并且在Windows 7 64位上仍然出现此错误,请在IIS 7.5中尝试: 创建一个新的应用程序池 转 ...
- 在Git for windows(MSYS2)中实现tmux和windows剪切板的共享功能
一直以来个人开发环境中linux下tmux和系统剪切板的共享功能都是通过xclip机制实现的,废话不多说直接贴在用的tmux配置文件吧: # 显示vi-cope模式下的映射 tmux list-key ...
- 解决:Windows无法自动将IP协议堆栈绑定到网络适配器问题(表现形式:电脑突然无法连接互联网,且只剩飞行模式)
解决:"Windows无法自动将IP协议堆栈绑定到网络适配器问题"(表现形式:电脑突然无法连接互联网,且只剩飞行模式) 一·问题描述: 1.电脑突然断网,导致如图所示问题 2.wi ...
- Windows无法自动将IP协议堆栈绑定到网络适配器(win10解决方法)
昨晚看着看着下载好的视频突然卡了看不了,后来也没留意,转去浏览器看剩下的视频,看完想关机的时候发现没反应,按window键也没反应,最后是通过Ctrl+Alt+Del关机的.今天开机之后发现,只显示一 ...
- 利用 Windows Vista 和 WCF 中强大的 P2P 通信功能[MSDN]
点对点技术 利用 Windows Vista 和 WCF 中强大的 P2P 通信功能 发布日期: 2006-10-17 | 更新日期: 2006-10-17 Justin Smith 本文基于 Win ...
- Windows 7的CMD中 Telnet 无法执行的解决办法
在Windows 7的CMD中,执行telnet 192.168.1.10 80 会提示没有这个命令的提示,这是因为Win7默认是没有安装Telnet的(在以往的WINDOWS系统中都是默认安装的). ...
- Windows XP下vs2010中配置OpenCV2.4.3
1. 从http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/下载OpenCV2.4.3: 2. 将OpenCV ...
最新文章
- 云爆发架构是否难以实施?
- java 网线串口开发_C++标准语言不断被开发,C++却走向了下坡路!
- 测试发送消息和接受消息
- 软件开发中Alpha、Beta、RC、GA版本的含义
- 佩奇送福利:Eygle系列书籍免费下载
- matlab与r语言运算速度,R语言与matlab循环时间对比
- gstreamer的rtsp推流(笔记)
- 网卡不兼容linux系统,CentOS与Broadcom 5709兼容性问题导致业务网络中断
- 传奇服务器M2道士毒文件,传奇版本M2里面【Envir】文件功能说明
- 《SPSS从入门到精通》笔记(1-4章)
- linux locale字符集设置,Linux下通过locale来设置字符集
- 将[c语言中文网](http://c.biancheng.net/view/1380.html)的“”23 种设计模式“的网页转成pdf
- 计算机windows无响应,win10电脑开软件自动无响应怎么办_win10打开软件没响应的解决方法...
- pikachu~~~验证码绕过(on client on server)
- PHPstudy的下载与安装。
- php com操作word,php 操作word 的使用com组件的总结
- python correlate_关于numpy互相关函数np.correlate的一点疑问
- 项目部署-didi/LogiKM
- 使用电脑浏览器获取狗东账号cookie
- Apple Xcode 13.2 (13C90) 下载