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); } }
private void SetCursorToHandle(FrameworkElement handle) { var handleRect = Mapper.Map <Rect>(handle.GetRectRelativeToParent()); var parentRect = new Rect(0, 0, ActualWidth, ActualHeight); handle.Cursor = WindowsSizeCursorsThumbCursorConverter.GetCursor(handleRect, parentRect); }
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); } }