protected override DependencyObject GetContainerForItemOverride() { var item = new PathViewItem(); item.MouseEnter += this.PathViewItem_MouseEnter; item.Expanded += this.PathViewItem_Expanded; item.Collapsed += this.PathViewItem_Collapsed; return(item); }
private void PathViewItem_Collapsed(object sender, RoutedEventArgs e) { var item = (PathViewItem)sender; switch (this.State) { case PathViewState.Normal: //throw new InvalidOperationException(); break; case PathViewState.Expanding: this.State = PathViewState.Normal; this.expandingItem = null; this.ReleaseMouseCapture(); break; case PathViewState.Editing: throw new InvalidOperationException(); default: throw new InvalidOperationException("Status must be one of PathViewStatus."); } }
private void PathViewItem_Expanded(object sender, RoutedEventArgs e) { var item = (PathViewItem)sender; switch (this.State) { case PathViewState.Normal: this.State = PathViewState.Expanding; this.expandingItem = item; Mouse.Capture(this, CaptureMode.SubTree); break; case PathViewState.Expanding: //throw new InvalidOperationException(); break; case PathViewState.Editing: throw new InvalidOperationException(); default: throw new InvalidOperationException("Status must be one of PathViewStatus."); } }