首页 > Windows开发 > 详细

C# WinForms DataBindings绑定布尔值属性时,反向转值的问题

时间:2015-04-01 19:52:44      阅读:280      评论:0      收藏:0      [点我收藏+]

一般我们要绑定个按钮的状态Enabled属性时,有可能刚好是取对应的反值,比如我绑定的是线程里一个bool的IsRunning,

一般添加代码的方式为

button1.DataBindings.Add("Enabled", OrderViewModel.Instance.Commands.ThreadManager,"IsRunning", false, DataSourceUpdateMode.OnPropertyChanged);

但实际使用场景是线程运行是,按钮为灰色,显然这种方式不符合

wpf下的这处场景还有值转换器可以利用,但winform下这种转换让我浪费了一下行,最后代码如下,更精简明了

 

var bind = new Binding("Enabled", OrderViewModel.Instance.Commands.ThreadManager, "IsRunning");
            bind.Format += delegate(object o, ConvertEventArgs args) { args.Value = !((bool) args.Value); };
            button1.DataBindings.Add(bind);

 

C# WinForms DataBindings绑定布尔值属性时,反向转值的问题

原文:http://www.cnblogs.com/jizhongfong/p/4384689.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!