diff --git a/sandbox/ConsoleApp/Program.cs b/sandbox/ConsoleApp/Program.cs index f547f51..b293fdf 100644 --- a/sandbox/ConsoleApp/Program.cs +++ b/sandbox/ConsoleApp/Program.cs @@ -7,36 +7,17 @@ using System.Collections; using System.Collections.Generic; +var dict = new ObservableDictionary(); +var view = dict.CreateView(x => x).ToNotifyCollectionChanged(); +dict.Add(key: 1, value: "foo"); +dict.Add(key: 2, value: "bar"); - -// Queue <-> List Synchronization -var queue = new ObservableQueue(); - -queue.Enqueue(1); -queue.Enqueue(10); -queue.Enqueue(100); -queue.Enqueue(1000); -queue.Enqueue(10000); - -using var view = queue.CreateView(x => x.ToString() + "$"); - -using var viewList = view.ToViewList(); - -Console.WriteLine(viewList[2]); // 100$ - - -view.ViewChanged += View_ViewChanged; - -void View_ViewChanged(in SynchronizedViewChangedEventArgs eventArgs) +foreach (var item in view) { - if (eventArgs.Action == NotifyCollectionChangedAction.Add) - { - // eventArgs.OldItem.View. - } - - throw new NotImplementedException(); + Console.WriteLine(item); } + class ViewModel { public int Id { get; set; } diff --git a/src/ObservableCollections/SynchronizedViewList.cs b/src/ObservableCollections/SynchronizedViewList.cs index f1dc3a5..418768f 100644 --- a/src/ObservableCollections/SynchronizedViewList.cs +++ b/src/ObservableCollections/SynchronizedViewList.cs @@ -64,9 +64,20 @@ internal class FiltableSynchronizedViewList : ISynchronizedViewList