/// <summary> /// Adds a keyboard focus handler for a container. /// </summary> /// <param name="container">The container.</param> protected virtual void AddKeyboardFocusWithinHandler(ExtendedTreeViewItemBase container) { RemoveKeyboardFocusWithinHandler(); CurrentlyFocusedContainer = container ?? throw new ArgumentNullException(nameof(container)); CurrentlyFocusedContainer.IsKeyboardFocusWithinChanged += OnIsKeyboardFocusWithinChanged; }
protected static void OnIsExpandedChanged(DependencyObject modifiedObject, DependencyPropertyChangedEventArgs e) { ExtendedTreeViewItemBase ctrl = (ExtendedTreeViewItemBase)modifiedObject; ctrl.OnIsExpandedChanged(e); }
/// <summary> /// Adds a tag to a container. /// </summary> /// <param name="container">The container.</param> protected virtual void TagContainer(ExtendedTreeViewItemBase container) { container.SetValue(HasContextMenuOpenPropertyKey, true); MarkedContainerList.Add(container); }
/// <summary> /// Calleds when a container gets the focus. /// </summary> /// <param name="container">The container.</param> public void ContainerGotFocus(ExtendedTreeViewItemBase container) { AddKeyboardFocusWithinHandler(container); }
/// <summary> /// Checks whether a container is the destination of a drop. /// </summary> /// <param name="itemContainer">The container.</param> /// <returns>True if destination of a drop; otherwise, false.</returns> public static bool IsDropOver(ExtendedTreeViewItemBase itemContainer) { return(itemContainer == DropTargetContainer); }