/// <inheritdoc/> public override void Clear() { LiveShapingItems.Values.ForEach(OnLiveShapingItemRemoved); LiveShapingItems.Clear(); FilteredItems.Clear(); base.Clear(); }
private void OnItemSortPropertyChanged(object sender, PropertyChangedEventArgs e) { if (LiveShapingItems.TryGetValue((T)sender, out var liveShapingItem)) { liveShapingItem.IsSortDirty = true; } else { Debug.WriteLine($"{sender} not found"); } }
private void CreateLiveShapingItem(T item) { var liveShapingItem = new LiveShapingItem <T>(item); liveShapingItem.PropertyChanged += OnDependencyPropertyChanged; LiveShapingItems.Add(item, liveShapingItem); foreach (KeyValuePair <LiveShapingProperty, DependencyProperty> pair in ActiveDependencyProperties) { RegisterBinding(liveShapingItem, pair.Key, pair.Value); } }
private void RemoveLiveShapingItemFor(T item) { OnLiveShapingItemRemoved(LiveShapingItems[item]); LiveShapingItems.Remove(item); }