我有一個奇怪的現象:的PropertyChanged沒有發射
在.NET CF項目還有一類(稱爲A),它具有以下結構:
public partial class A: Form, INotifyPropertyChanged
{
//for simplicity stripping off everything unrelated to this problem
private int _SelectedRowsCount = 0;
public int SelectedRowsCount
{
get { return _SelectedRowsCount; }
set
{
_SelectedRowsCount = value;
OnPropertyChanged("SelectedRowsCount");
}
}
public bool enableCollectionButton
{
get { return SelectedRowsCount > 0; }
}
//....
//
//
void SomeMethod()
{
//for simplicity:
SelectedRowsCount = 1; //<- HERE NOT FIRING Propertychanged for enableCollectionButton
}
}
類正確地實現了INotifyPropertyChanged的接口,使SelectedRowsCount屬性觸發屬性更改通知(我使用調試器對此進行了評估)。 的enableCollectionButton屬性數據綁定到一定的控制,像這樣:
someButton.DataBindings.Add("Enabled", this, "enableCollectionButton");
但enableCollectionButton屬性不會更改(儘管這取決於SelectedRowsCount的值)。此屬性應該在SelectedRowsCount屬性的更改上進行評估,但不是!
爲什麼這不起作用,我怎麼想?
在此先感謝
非常感謝!我怎麼能負責嗎?!我應該去散步!!哈哈!是的,你是關於命名約定(通常我遵守約定)!非常感謝 – 2010-10-24 08:59:22
不客氣! – 2010-10-24 09:13:32