Ejemplo n.º 1
0
 private void ResetAdorners()
 {
     // If there is no vertical scrollbar track then there are no adorners to reset
     if (SearchTicksTrack != null)
     {
         var adorners = TreeViewAdornerLayer.GetAdorners(SearchTicksTrack);
         if (adorners != null)
         {
             foreach (var adorner in adorners.OfType <SearchTickAdorner>())
             {
                 TreeViewAdornerLayer.Remove(adorner);
             }
         }
     }
     SearchAdornerDecorator.ResetAdorners();
 }
Ejemplo n.º 2
0
        private void ProcessTreeViewItemsInSearchResults()
        {
            Debug.Assert(_context != null, "ExplorerFrame was disposed");

            var scrollBar = GetVerticalScrollBar();

            var addAdorners           = scrollBar != null && scrollBar.IsVisible;
            var explorerSearchResults = ExplorerSearchResults.GetExplorerSearchResults(_context);

            if (addAdorners)
            {
                foreach (var explorerElement in explorerSearchResults.Results)
                {
                    SearchAdornerDecorator.AddAdorner(
                        TreeViewAdornerLayer, SearchTicksTrack, explorerElement, this);
                }
            }

            if (_searchExpansionInProgress || _modelChangesCommittingInProgress)
            {
                // update Next & Previous whether tree is being expanded because
                // search was initiated by user or because model changes are being committed
                OnUpdateNextAndPreviousResults(true);

                // only select the Next or Previous result if search was initiated by user
                if (_searchExpansionInProgress)
                {
                    if (explorerSearchResults.CanGoToNextSearchResult)
                    {
                        OnSelectNextSearchResult();
                    }
                    else if (explorerSearchResults.CanGoToPreviousSearchResult)
                    {
                        OnSelectPreviousSearchResult();
                    }
                    else
                    {
                        // this has the side-effect of calling Focus() on the selected item
                        FocusExplorerEFElement(GetSelectedExplorerEFElement(), true);
                    }
                }
            }
        }
Ejemplo n.º 3
0
 public SearchTickAdorner(FrameworkElement adornedElement, ExplorerEFElement explorerElement, ExplorerFrame explorerFrame)
     : this(SearchAdornerDecorator.GetAdornerY(adornedElement, explorerElement, explorerFrame), adornedElement)
 {
     AddExplorerElement(explorerElement);
 }