protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index) { if (modification == SceneNode.Modification.SetValue || modification == SceneNode.Modification.InsertValue) { ItemsControlElement.ClearMutuallyExclusivePropertyIfNeeded((SceneElement)this, propertyReference); } base.ModifyValue(propertyReference, valueToSet, modification, index); }
protected override void OnChildAdded(SceneNode child) { if (PlatformTypes.ItemsControl.IsAssignableFrom((ITypeId)this.Type)) { ItemsControlElement.OnChildAddedHelper((SceneElement)this, child); } base.OnChildAdded(child); }
protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index) { if (PlatformTypes.ItemsControl.IsAssignableFrom((ITypeId)this.Type) && (modification == SceneNode.Modification.SetValue || modification == SceneNode.Modification.InsertValue)) { ItemsControlElement.ClearMutuallyExclusivePropertyIfNeeded((SceneElement)this, propertyReference); } base.ModifyValue(propertyReference, valueToSet, modification, index); }
public static void OnChildAddedHelper(SceneElement itemsControl, SceneNode child) { IProperty propertyForChild = itemsControl.GetPropertyForChild(child); if (propertyForChild == null || !ItemsControlElement.ItemsProperty.Equals((object)propertyForChild)) { return; } ItemsControlElement.UpdateItemsSourceOnItemsChanged(itemsControl); }
public static void ClearMutuallyExclusivePropertyIfNeeded(SceneElement itemsControl, PropertyReference propertyReference) { ReferenceStep firstStep = propertyReference.FirstStep; if (ItemsControlElement.ItemsSourceProperty.Equals((object)firstStep)) { ISceneNodeCollection <SceneNode> collectionForProperty = itemsControl.GetCollectionForProperty((IPropertyId)itemsControl.DefaultContentProperty); if (collectionForProperty != null) { foreach (SceneNode sceneNode in (IEnumerable <SceneNode>)collectionForProperty) { SceneElement element = sceneNode as SceneElement; if (element != null) { itemsControl.ViewModel.AnimationEditor.DeleteAllAnimationsInSubtree(element); } } collectionForProperty.Clear(); } itemsControl.ClearValue(ItemsControlElement.ItemsProperty); } else if (ItemsControlElement.ItemsProperty.Equals((object)firstStep)) { ItemsControlElement.UpdateItemsSourceOnItemsChanged(itemsControl); } else if (ItemsControlElement.ItemTemplateProperty.Equals((object)firstStep)) { itemsControl.ClearValue(ItemsControlElement.DisplayMemberPathProperty); } else { if (!ItemsControlElement.DisplayMemberPathProperty.Equals((object)firstStep)) { return; } itemsControl.ClearValue(ItemsControlElement.ItemTemplateProperty); } }
protected override DocumentNode ResolveDefaultStyleAsDocumentNode(IType targetType, IPropertyId propertyKey) { IPropertyId containerStyleProperty = ItemsControlElement.GetItemContainerStyleProperty(this.ProjectContext, (ITypeId)targetType); return(containerStyleProperty == null || !containerStyleProperty.Equals((object)propertyKey) ? base.ResolveDefaultStyleAsDocumentNode(targetType, propertyKey) : base.ResolveDefaultStyleAsDocumentNode(this.ProjectContext.ResolveType((ITypeId)this.ItemType), BaseFrameworkElement.StyleProperty)); }
protected override void OnChildAdded(SceneNode child) { ItemsControlElement.OnChildAddedHelper((SceneElement)this, child); base.OnChildAdded(child); }