BetterExplorer.MainWindow.ShellListView_Navigating C# (CSharp) Метод

ShellListView_Navigating() приватный Метод

private ShellListView_Navigating ( object sender, NavigatingEventArgs e ) : void
sender object
e NavigatingEventArgs
Результат void
    void ShellListView_Navigating(object sender, NavigatingEventArgs e) {
      if (this._ShellListView.CurrentFolder == null) return;
      Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() => {
        this.btnCancelNavigation.Visibility = Visibility.Visible;
        this.btnGoNavigation.Visibility = Visibility.Collapsed;
        this._ProgressTimer.Start();
      }));

      if (this.bcbc.RootItem.Items.OfType<ShellItem>().Last().IsSearchFolder) {
        this.bcbc.RootItem.Items.RemoveAt(this.bcbc.RootItem.Items.Count - 1);
      }

      var pidl = e.Folder.PIDL.ToString();
      this.bcbc.SetPathWithoutNavigate(pidl);

      Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() => {
        var tab = tcMain.SelectedItem as Wpf.Controls.TabItem;
        if (tab != null && this._ShellListView.GetSelectedCount() > 0) {
          if (tab.SelectedItems != null)
            tab.SelectedItems.AddRange(this._ShellListView.SelectedItems.Select(s => s.ParsingName).ToList());
          else
            tab.SelectedItems = this._ShellListView.SelectedItems.Select(s => s.ParsingName).ToList();
        }

        this.Title = "Better Explorer - " + e.Folder.DisplayName;
      }));

      if (e.Folder.IsSearchFolder) {
        Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() => {
          var selectedTabItem = tcMain.SelectedItem as Wpf.Controls.TabItem;
          if (selectedTabItem != null) {
            selectedTabItem.Header = e.Folder.DisplayName;
            selectedTabItem.Icon = e.Folder.ThumbnailSource(16, ShellThumbnailFormatOption.IconOnly, ShellThumbnailRetrievalOption.Default);
            selectedTabItem.ShellObject = e.Folder;
            selectedTabItem.ToolTip = e.Folder.ParsingName.Replace("%20", " ").Replace("%3A", ":").Replace("%5C", @"\");
          }
        }));
      } else {
        edtSearchBox.ClearSearchText();
      }
      this._ShellListView.Focus();
    }
MainWindow