0
我有一些集合,实现INotifyCollectionChanged。UI不结合INotifyCollectionChanged
public sealed class GroupCollection : INotifyCollectionChanged, IList<Group>
{
//...
public event NotifyCollectionChangedEventHandler CollectionChanged;
private void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
{
if (CollectionChanged != null)
{
CollectionChanged(this, e);
}
}
//...
}
它在XAML中使用
<CollectionViewSource x:Name="groupedItemsViewSource" Source="{Binding Groups}"/>
然后在xaml.cs
this.DefaultViewModel["Groups"] = groups.GroupCollection;
收集项目显示就好了。但用户界面不会订阅CollectionChanged
当CollectionChanged
被触发不会自我更新。也许我需要实现更多的接口来使UI控件订阅事件?
P.S.因为编译器说,这“不是Windows运行时的界面”我不能使用的ObservableCollection。
我做不到这个。 'GroupCollection'位于另一个项目中(项目类型为“Windows运行时组件”)。 “Windows运行时组件”中的公共类无法实现“ObservableCollection”。如果我尝试,我得到的编译错误“'ObservableCollection'不是Windows运行时的界面”。 – b1n0m 2013-03-06 16:54:46