Silverlight DataBinding到ReadOnlyObservableCollection只会在第一次触发

时间:2011-11-21 12:00:13

标签: silverlight data-binding observablecollection

在我的Silverlight 4项目中,我喜欢将ReadOnlyObservableCollection绑定到Button属性。该集合是类的一部分,该类绑定到UserControl的DataContect,其中包含Button。

<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;   }
  }
}

0 个答案:

没有答案