日期:2014-05-18  浏览次数:20928 次

winform 工具栏按钮Enabled属性的动态改变问题
程序的工具栏按钮需要根据一些类的属性动态改变其是否可以点击,比如,类A有一个List<string> WorkList属性,当WorkList中的值有改变时,使工具栏的保存按钮Enabled属性为True。因为WorkList的值在很多地方都会发生改变,所以感觉无从下手,类似这种界面按钮的动态变化一般都是怎么实现的?

------解决方案--------------------
实现 INotifyPropertyChanged 接口(属性更改通知)
参考 http://msdn.microsoft.com/en-us/library/ms743695.aspx
------解决方案--------------------
ObservableCollection<objXXX> collections;
collections.CollectionChanged += (senderCollect,eCollect)=>
{
Button btn1 = new Button();
btn1.Enabled = false;
};
ObservableCollection实现了INotifyPropertyChanged 接口,当它的集合变化后会触发CollectionChanged 事件