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