protected override void OnMouseRightButtonUp(MouseButtonEventArgs e) { var ancestors = (e.OriginalSource as DependencyObject).GetVisualAncestors(); Border row = ancestors.OfType <Border>().FirstOrDefault(b => b.Name == "uxPropertyNodeRow"); if (row == null) { return; } PropertyNode node = row.DataContext as PropertyNode; if (node.IsEvent) { return; } PropertyContextMenu contextMenu = new PropertyContextMenu(); contextMenu.DataContext = node; contextMenu.Placement = PlacementMode.Bottom; contextMenu.HorizontalOffset = -30; contextMenu.PlacementTarget = row; contextMenu.IsOpen = true; }
protected override void OnMouseRightButtonUp(MouseButtonEventArgs e) { var ancestors = (e.OriginalSource as DependencyObject).GetVisualAncestors(); Border row = ancestors.OfType<Border>().FirstOrDefault(b => b.Name == "uxPropertyNodeRow"); if (row == null) return; PropertyNode node = row.DataContext as PropertyNode; if (node.IsEvent) return; PropertyContextMenu contextMenu = new PropertyContextMenu(); contextMenu.DataContext = node; contextMenu.Placement = PlacementMode.Bottom; contextMenu.HorizontalOffset = -30; contextMenu.PlacementTarget = row; contextMenu.IsOpen = true; }