private void RemoveLiveShapingProperty(string oldSortPropertyName, LiveShapingCategory category)
        {
            var liveShapingProperty = new LiveShapingProperty(oldSortPropertyName, category);
            var oldDp = ActiveDependencyProperties[liveShapingProperty];

            LiveShapingItems.Values.ForEach(lsi => lsi.RemoveBinding(oldDp));
            ActiveDependencyProperties.Remove(liveShapingProperty);
        }
        private void ClearAllLiveShapingPropertiesOf(LiveShapingCategory category)
        {
            List <LiveShapingProperty> lspsToRemove = new List <LiveShapingProperty>();

            foreach (var adpPair in ActiveDependencyProperties.Where(pair => pair.Key.Category == category))
            {
                var dependencyProperty = adpPair.Value;
                LiveShapingItems.Values.ForEach(lsi => lsi.RemoveBinding(dependencyProperty));

                lspsToRemove.Add(adpPair.Key);
            }

            lspsToRemove.ForEach(lsp => ActiveDependencyProperties.Remove(lsp));
        }