в моем проекте 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; }
}
}