У меня странная ситуация:
в проекте .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, НО НЕТ !!!
Почему это не работает, что мне не хватает ??
Заранее спасибо