Привязка данных Silverlight к коллекции ReadOnlyObservableCollection срабатывает только в первый раз - PullRequest
0 голосов
/ 21 ноября 2011

в моем проекте Silverlight 4 мне нравится связывать коллекцию ReadOnlyObservableCollection со свойством Button.Коллекция является частью класса, который связывается с DataContect UserControl, который содержит кнопку.

<Button Visibility="{Binding Children, Converter={StaticResource ConvertHasListItems2Visibility}}" />

Преобразователь вызывается в первый раз, когда создается элемент управления, но после этого онне вызывается при добавлении или удалении элементов в коллекцию.Я проверил это с помощью точек останова.Я даже пытался привязать к ObservableCollection, но есть та же проблема.Привязка к другому свойству моего класса работает (мой класс реализует INotifyPropertyChanged).

Есть ли что-то особенное с привязкой к (ReadOnly) ObservableCollection, которое должно быть уведомлено, когда его элементы изменились (добавлены или удалены, если быть точным))?

Заранее спасибо,
Фрэнк

Эдит включает объявление Коллекции (ей):

public class MyClass
{
  private ObservableCollection<IServiceItemVMBase> _children;
  private ReadOnlyObservableCollection<IServiceItemVMBase> _childrenReadOnly;

  public ViewModelBase(IServiceObjectBase serviceObject, IServiceItemVMBase parent)
  {
    _children = new ObservableCollection<IServiceItemVMBase>();
    _childrenReadOnly = new ReadOnlyObservableCollection<IServiceItemVMBase>(_children);
  }

  public ReadOnlyObservableCollection<IServiceItemVMBase> Children
  {
    get {   return _childrenReadOnly;   }
  }
}
...