public void SelectRect(string rectname) { if (selected_rectangle != null) { selected_rectangle.Unselect(); } selected_rectangle = SomeUtilities.FindChild <RectangleNamed>(canvas1, rectname); selected_rectangle.Select(); }
public void RectangleNamed_MouseDown(object sender, MouseButtonEventArgs e) { DragInProgress = true; if (sender is RectangleNamed) { if (selected_rectangle != null) { SaveItem(rectangle); selected_rectangle.Unselect(); selected_rectangle = null; } selected_rectangle = (RectangleNamed)sender; selected_rectangle.Select(); } }
// Start dragging. private void canvas1_MouseDown(object sender, MouseButtonEventArgs e) { MouseHitType = SetHitType(rectangle, Mouse.GetPosition(canvas1)); SetMouseCursor(); if (selected_rectangle != null && e.OriginalSource is Canvas) { selected_rectangle.Unselect(); NotifySelectionChanged(selected_rectangle.description, selected_rectangle.isSelected); selected_rectangle = null; return; } if (MouseHitType == HitType.None) { return; } LastPoint = Mouse.GetPosition(canvas1); DragInProgress = true; try { if (selected_rectangle != null) { selected_rectangle.Unselect(); NotifySelectionChanged(selected_rectangle.description, selected_rectangle.isSelected); } //Проверяем чтобы был нажат один из элементов на RectangleNamed //if (e.OriginalSource is Rectangle) // selected_rectangle = (RectangleNamed)((Rectangle)e.OriginalSource).Parent; //if (e.OriginalSource is TextBlock) // selected_rectangle = (RectangleNamed)((TextBlock)e.OriginalSource).Parent; selected_rectangle = selectRectangleNamed(e.OriginalSource); selected_rectangle.Select(); NotifySelectionChanged(selected_rectangle.description, selected_rectangle.isSelected); } catch (Exception err) { } }
// Stop dragging. private void canvas1_MouseUp(object sender, MouseButtonEventArgs e) { DragInProgress = false; if (e.OriginalSource is RectangleNamed) { NotifyPositionChanged(rectangle.description); if (selected_rectangle != null) { //if (e.OriginalSource is Rectangle) // rectangle = (RectangleNamed)((Rectangle)e.OriginalSource).Parent; //if (e.OriginalSource is TextBlock) // rectangle = (RectangleNamed)((TextBlock)e.OriginalSource).Parent; selected_rectangle = selectRectangleNamed(e.OriginalSource); selected_rectangle.Select(); NotifySelectionChanged(selected_rectangle.description, selected_rectangle.isSelected); } else { NotifySelectionChanged("None", false); } } }