private void CloseCompleted(object sender, EventArgs e) { IsClosing = false; BreadCrumbEventArgs args = new BreadCrumbEventArgs(BreadCrumbItemClosedEvent, this); RaiseEvent(args); }
/// <summary> /// Triggered when the close animation for a BreadCrumbItem is completed. /// The logic triggers the next animation in the chain until TargetPath is /// reached. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DirectoryCloseComplete(object sender, BreadCrumbEventArgs e) { e.BreadCrumbItem.Closed -= DirectoryCloseComplete; crossRef.Remove(e.BreadCrumbItem.Tag); Items.Remove(e.BreadCrumbItem); BreadCrumbItem nextInChain = Items[Items.Count - 1] as BreadCrumbItem; if (TargetDirectory == nextInChain) { _isClosing = false; } CurrentDirectory = nextInChain; CloseCurrentDirectory(); }
/// <summary> /// Triggered when a BreadCrumbItem is clicked /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BreadCrumbItemClicked(object sender, BreadCrumbEventArgs e) { RaisePreviewDirectoryClosing(e.BreadCrumbItem); }