private void HandleRefresh(object sender, ExecutedRoutedEventArgs e)
{
Cursor saveCursor = Mouse.OverrideCursor;
Mouse.OverrideCursor = Cursors.Wait;
try
{
object currentTarget = this.CurrentSelection != null ? this.CurrentSelection.Target : null;
this.visualTreeItems.Clear();
this.Root = VisualTreeItem.Construct(this.root, null);
if (currentTarget != null)
{
VisualTreeItem visualItem = this.FindItem(currentTarget);
if (visualItem != null)
this.CurrentSelection = visualItem;
}
this.SetFilter(this.filter);
}
finally
{
Mouse.OverrideCursor = saveCursor;
}
}