private void RemoveChildFromMaterialChilds(MaterialChildModel materialChild) { materialChild.PropertyChanged -= materialChild_PropertyChanged; MaterialChilds.Remove(materialChild); }
private void AddChildToMaterialChilds(MaterialChildModel materialChild) { materialChild.PropertyChanged += materialChild_PropertyChanged; MaterialChilds.Insert(MaterialChilds.Count - MaterialChilds.OfType<LogoModel>().Count(), materialChild); }
private void MaterialChildIsSelectedChanged(MaterialChildModel materialChild) { var frameworkElement = Children.OfType<FrameworkElement>().FirstOrDefault(f => f.Tag == materialChild); if (frameworkElement == null) { return; } if (CanManipulateElement(frameworkElement) == false) { return; } if (materialChild.IsSelected) { AddSelectedElement(frameworkElement); } else { UnSelectElement(frameworkElement); } }