private void RegisterHandles() { UIResizeOperationHandleConnector = new UIResizeOperationHandleConnector(CanvasItem, FrameOfReference, SnappingEngine); var thumbContainer = (UIElement) FindName("PART_ThumbContainer"); Debug.Assert(thumbContainer != null, "ThumbContainer part not found!"); var visualChildren = new List<DependencyObject>(); for (var i = 0; i < VisualTreeHelper.GetChildrenCount(thumbContainer); i++) { visualChildren.Add(VisualTreeHelper.GetChild(thumbContainer, i)); } var logicalChildren = visualChildren.OfType<FrameworkElement>(); foreach (var logicalChild in logicalChildren) { var childRect = this.GetRectRelativeToParent(logicalChild); var parentRect = CanvasItem.Rect(); var handlePoint = childRect.GetHandlePoint(parentRect.Size); UIResizeOperationHandleConnector.RegisterHandle(new UIElementAdapter(logicalChild), handlePoint); } }
private void RegisterHandles() { UIResizeOperationHandleConnector = new UIResizeOperationHandleConnector(CanvasItem, FrameOfReference, SnappingEngine); WindowsSizeCursorsThumbCursorConverter = new WindowsSizeCursorsThumbCursorConverter(); var thumbContainer = (UIElement)Template.FindName("PART_ThumbContainer", this); var enumerable = LogicalTreeHelper.GetChildren(thumbContainer); var logicalChildren = enumerable.OfType<FrameworkElement>(); foreach (var logicalChild in logicalChildren) { var rectRelativeToParent = Mapper.Map<Rect>(logicalChild.GetRectRelativeToParent()); var childRect = rectRelativeToParent; var parentRect = Mapper.Map<Rect>(CanvasItem.Rect()); var handlePoint = childRect.GetHandlePoint(parentRect.Size); var uiElement = new UIElementAdapter(logicalChild); UIResizeOperationHandleConnector.RegisterHandle(uiElement, handlePoint); SetCursorToHandle(logicalChild); } }