Создание пользовательского элемента управления WPF в коде, привязки не регистрируются в INotifyPropertyChanged - PullRequest
2 голосов
/ 08 сентября 2011

Я создал общий элемент управления WPF, поэтому макет полностью определен в коде. Это все нормально, и я добавил привязки, которые работают впервые, например:

private bool btEnabled { get { return SOME_LOGIC; } }

Button bt = new Button { Content = "Button" };
bt.SetBinding(Button.IsEnabledProperty, new Binding { Source = btEnabled, Mode = BindingMode.OneWay });

Всякий раз, когда происходит что-то, что влияет на свойство btEnabled, я вызываю INotifyPropertyChanged, но событие PropertyChanged всегда равно null, я не могу понять, почему привязка не регистрирует событие PropertyChanged.

Есть идеи?

Спасибо

1 Ответ

1 голос
/ 08 сентября 2011

Я вижу, что btEnabled является слишком частным свойством!

Итак, предположительно, есть две ошибки ...

Ваш Binding должен установить Path="btEnabled" не Source=btEnabled И ваше свойство btEnabled должно быть публичным.

...