在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的绑定问题相关推荐

  1. Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)

    原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...

  2. Windows Presentation Foundation (WPF)中的命令(Commands)简述

    Windows Presentation Foundation (WPF)中的命令(Commands)简述 原文:Windows Presentation Foundation (WPF)中的命令(C ...

  3. vue与elementUI中给el-input绑定键盘按键--按键修饰符

    vue怎么写键盘事件 vue允许将按键值作为修饰符来使用,如监听回车事件,有两种写法,如下代码: <input type="text" @keyup.13="con ...

  4. 如何在.NET中启用程序集绑定失败日志记录(Fusion)

    如何在.NET中启用程序集绑定失败日志记录(Fusion)? #1楼 如果您已经启用了日志记录,并且在Windows 7 64位上仍然出现此错误,请在IIS 7.5中尝试: 创建一个新的应用程序池 转 ...

  5. 在Git for windows(MSYS2)中实现tmux和windows剪切板的共享功能

    一直以来个人开发环境中linux下tmux和系统剪切板的共享功能都是通过xclip机制实现的,废话不多说直接贴在用的tmux配置文件吧: # 显示vi-cope模式下的映射 tmux list-key ...

  6. 解决:Windows无法自动将IP协议堆栈绑定到网络适配器问题(表现形式:电脑突然无法连接互联网,且只剩飞行模式)

    解决:"Windows无法自动将IP协议堆栈绑定到网络适配器问题"(表现形式:电脑突然无法连接互联网,且只剩飞行模式) 一·问题描述: 1.电脑突然断网,导致如图所示问题 2.wi ...

  7. Windows无法自动将IP协议堆栈绑定到网络适配器(win10解决方法)

    昨晚看着看着下载好的视频突然卡了看不了,后来也没留意,转去浏览器看剩下的视频,看完想关机的时候发现没反应,按window键也没反应,最后是通过Ctrl+Alt+Del关机的.今天开机之后发现,只显示一 ...

  8. 利用 Windows Vista 和 WCF 中强大的 P2P 通信功能[MSDN]

    点对点技术 利用 Windows Vista 和 WCF 中强大的 P2P 通信功能 发布日期: 2006-10-17 | 更新日期: 2006-10-17 Justin Smith 本文基于 Win ...

  9. Windows 7的CMD中 Telnet 无法执行的解决办法

    在Windows 7的CMD中,执行telnet 192.168.1.10 80 会提示没有这个命令的提示,这是因为Win7默认是没有安装Telnet的(在以往的WINDOWS系统中都是默认安装的). ...

  10. Windows XP下vs2010中配置OpenCV2.4.3

    1.  从http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/下载OpenCV2.4.3: 2.  将OpenCV ...

最新文章

  1. 云爆发架构是否难以实施?
  2. java 网线串口开发_C++标准语言不断被开发,C++却走向了下坡路!
  3. 测试发送消息和接受消息
  4. 软件开发中Alpha、Beta、RC、GA版本的含义
  5. 佩奇送福利:Eygle系列书籍免费下载
  6. matlab与r语言运算速度,R语言与matlab循环时间对比
  7. gstreamer的rtsp推流(笔记)
  8. 网卡不兼容linux系统,CentOS与Broadcom 5709兼容性问题导致业务网络中断
  9. 传奇服务器M2道士毒文件,传奇版本M2里面【Envir】文件功能说明
  10. 《SPSS从入门到精通》笔记(1-4章)
  11. linux locale字符集设置,Linux下通过locale来设置字符集
  12. 将[c语言中文网](http://c.biancheng.net/view/1380.html)的“”23 种设计模式“的网页转成pdf
  13. 计算机windows无响应,win10电脑开软件自动无响应怎么办_win10打开软件没响应的解决方法...
  14. pikachu~~~验证码绕过(on client on server)
  15. PHPstudy的下载与安装。
  16. php com操作word,php 操作word 的使用com组件的总结
  17. python correlate_关于numpy互相关函数np.correlate的一点疑问
  18. 项目部署-didi/LogiKM
  19. 使用电脑浏览器获取狗东账号cookie
  20. Apple Xcode 13.2 (13C90) 下载

热门文章

  1. 【Landsat 8】遥感影像文件内容及命名规则
  2. 透视形变(perspective distortion)
  3. ENVI 自带的6种遥感图像分类算法比较
  4. python解析GF1卫星数据.xml文件
  5. mysql插入时unique字段重复插入失败
  6. ajax 请求与响应,实例解读ajax发送请求与数据响应
  7. iperf3 网络探测详解(android、iOS、windows)
  8. Dubbo 是如何控制并发数和限流的?
  9. Go基础-Go中的Println和Print和Printf之间的区别
  10. php 修改文件的权限_php修改文件权限