SelectionAdorner.cs 961 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System.Windows.Documents;
  2. using System.Windows.Media;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. namespace SHJX.Service.WorkFlowEdit
  6. {
  7. public class SelectionAdorner : Adorner
  8. {
  9. private VisualCollection _visuals;
  10. private Control _control;
  11. protected override int VisualChildrenCount
  12. {
  13. get { return _visuals.Count; }
  14. }
  15. public SelectionAdorner(DiagramItem item, Control control)
  16. : base(item)
  17. {
  18. _control = control;
  19. _control.DataContext = item;
  20. _visuals = new VisualCollection(this);
  21. _visuals.Add(_control);
  22. }
  23. protected override Size ArrangeOverride(Size finalSize)
  24. {
  25. _control.Arrange(new Rect(finalSize));
  26. return finalSize;
  27. }
  28. protected override Visual GetVisualChild(int index)
  29. {
  30. return _visuals[index];
  31. }
  32. }
  33. }