private string FormatEvent(ShellObjectChangeTypes changeType, ShellObjectNotificationEventArgs args) { ShellObjectChangedEventArgs changeArgs; ShellObjectRenamedEventArgs renameArgs; SystemImageUpdatedEventArgs imageArgs; string msg; if ((renameArgs = args as ShellObjectRenamedEventArgs) != null) { msg = string.Format("{0}: {1} ==> {2}", changeType, renameArgs.Path, System.IO.Path.GetFileName(renameArgs.NewPath)); } else if ((changeArgs = args as ShellObjectChangedEventArgs) != null) { msg = string.Format("{0}: {1}", changeType, changeArgs.Path); } else if ((imageArgs = args as SystemImageUpdatedEventArgs) != null) { msg = string.Format("{0}: ImageUpdated ==> {1}", changeType, imageArgs.ImageIndex); } else { msg = args.ChangeType.ToString(); } return(msg); }
void AllEventsHandler(object sender, ShellObjectNotificationEventArgs e) { eventStack.Children.Add( new Label { Content = FormatEvent(e.ChangeType, e) }); }