May*_*aya 6 c# events delegates .net-4.0 inotifypropertychanged
我已将INotifyPropertyChanged实现到以下类
public class FactoryItems : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
string symbol;
public string Symbol
{
get { return symbol; }
set { symbol = value; OnPropertyChanged("Symbol"); }
}
public FactoryItems()
{
}
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
Run Code Online (Sandbox Code Playgroud)
当Symbol属性更改时,事件触发没有问题,但PropertyChanged事件始终为null,此类仅实例化一次,我在构造函数上放置了一个断点以确保它的大小写.
在另一个类中,这是我订阅它的方式:
Data.Tables.FactoryItems = new Data.FactoryItems();
Data.Tables.FactoryItems.PropertyChanged +=
new System.ComponentModel.PropertyChangedEventHandler(FactoryItems_SymbolChanged);
void FactoryItems_SymbolChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
但是,当PropertyChanged为null时,处理程序始终为null.知道如何让这个工作吗?
非常感谢.
| 归档时间: |
|
| 查看次数: |
11133 次 |
| 最近记录: |