bool ShouldAttachItem(T item) { if (InteractionHelper.GetEnableBehaviorsInDesignTime(AssociatedObject)) { return(true); } if (!InteractionHelper.IsInDesignMode(AssociatedObject)) { return(true); } return(!InteractionHelper.IsInDesignMode(item)); }
void ResolveSource(bool forceResolving, bool?useVisualTree = null) { if (ViewModelBase.IsInDesignMode && !InteractionHelper.GetEnableBehaviorsInDesignTime(AssociatedObject) ) { return; } if (!IsAttached) { return; } if (Source != null && !forceResolving) { return; } if (SourceObject != null) { Source = SourceObject; return; } bool useVisualTreeCore = useVisualTree ?? false; var sourceObjectBinding = GetBindingExp(this, SourceObjectProperty); if (sourceObjectBinding != null) { string elementName = null; if (sourceObjectBinding.ParentBinding != null) { elementName = sourceObjectBinding.ParentBinding.ElementName; } if (!string.IsNullOrEmpty(elementName)) { Source = FindObject(AssociatedObject, elementName, useVisualTreeCore); } return; } var sourceNameBinding = GetBindingExp(this, SourceNameProperty); if (!string.IsNullOrEmpty(SourceName) || sourceNameBinding != null) { Source = FindObject(AssociatedObject, SourceName, useVisualTreeCore); return; } Source = AssociatedObject; return; }
void ResolveSource(bool forceResolving, bool?useVisualTree = null) { if (ViewModelBase.IsInDesignMode && !InteractionHelper.GetEnableBehaviorsInDesignTime(AssociatedObject) ) { return; } if (!IsAttached) { return; } if (Source != null && !forceResolving) { return; } object source; if (ResolveSource(out source, AssociatedObject, useVisualTree)) { Source = source; } }