void ShellListView_ItemUpdated(object sender, ItemUpdatedEventArgs e) {
Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() => {
if (e.UpdateType == ItemUpdateType.RecycleBin) {
this.UpdateRecycleBinInfos();
}
if (e.UpdateType != ItemUpdateType.Renamed && e.UpdateType != ItemUpdateType.Updated) {
var itemsCount = _ShellListView.Items.Count;
sbiItemsCount.Visibility = itemsCount == 0 ? Visibility.Collapsed : Visibility.Visible;
sbiItemsCount.Content = itemsCount == 1 ? "1 item" : itemsCount + " items";
}
//if (e.UpdateType == ItemUpdateType.Created && this._ShellListView.IsRenameNeeded) {
// _ShellListView.SelectItemByIndex(e.NewItemIndex, true, true);
// _ShellListView.RenameSelectedItem();
// this._ShellListView.IsRenameNeeded = false;
//}
if (e.UpdateType == ItemUpdateType.DriveRemoved || (e.UpdateType == ItemUpdateType.Deleted && e.NewItem.IsFolder)) {
foreach (var tab in this.tcMain.Items.OfType<Wpf.Controls.TabItem>().ToArray().Where(w => w.ShellObject.ParsingName.StartsWith(e.NewItem.ParsingName))) {
this.tcMain.RemoveTabItem(tab, false);
}
}
this._ShellListView.Focus();
}));
}