//Calculates whether ShowExpanded for a given WorklfowViewElement should be true or false. public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { ModelItem modelItem = (ModelItem)values[0]; bool isRootDesigner = (bool)values[1]; bool shouldExpandAll = (bool)values[2]; bool shouldCollapseAll = (bool)values[3]; bool expandState = (bool)values[4]; bool pinState = (bool)values[5]; WorkflowViewElement viewElement = (WorkflowViewElement)values[6]; //Pinstate should be false in following cases (Designer should be unpinned in following cases): //1. ExpandAll is not enabled. //2. ExpandAll is enabled and ExpandState is true. //Similarly for Collapse All. if ((!shouldExpandAll || expandState) && (!shouldCollapseAll || !expandState)) { viewElement.PinState = false; } if (viewElement.IsAncestorOfRootDesigner) { return(true); } return(ViewUtilities.ShouldShowExpanded(isRootDesigner, viewElement.DoesParentAlwaysExpandChild(), viewElement.DoesParentAlwaysCollapseChildren(), expandState, shouldExpandAll, shouldCollapseAll, viewElement.PinState)); }
public static Visibility GetExpandCollapseButtonVisibility(WorkflowViewElement viewElement) { ActivityDesigner designer = viewElement as ActivityDesigner; bool hasDelegates = (designer != null) && designer.HasActivityDelegates; Visibility visibility = Visibility.Visible; if (viewElement == null || viewElement.IsRootDesigner || viewElement.DoesParentAlwaysExpandChild() || viewElement.DoesParentAlwaysCollapseChildren() || (viewElement.Content == null && !hasDelegates) || !viewElement.Collapsible || !(viewElement is ActivityDesigner)) { visibility = Visibility.Collapsed; } return visibility; }
public static Visibility GetExpandCollapseButtonVisibility(WorkflowViewElement viewElement) { ActivityDesigner designer = viewElement as ActivityDesigner; bool hasDelegates = (designer != null) && designer.HasActivityDelegates; Visibility visibility = Visibility.Visible; if (viewElement == null || viewElement.IsRootDesigner || viewElement.DoesParentAlwaysExpandChild() || viewElement.DoesParentAlwaysCollapseChildren() || (viewElement.Content == null && !hasDelegates) || !viewElement.Collapsible || !(viewElement is ActivityDesigner)) { visibility = Visibility.Collapsed; } return(visibility); }