I create a moved usercontrol
<UserControl x:Class="Restaurant.Views.Managerer.TablePanel" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Restaurant.Helpers.Converter" mc:Ignorable="d" x:Name="root" MouseLeftButtonDown="root_MouseLeftButtonDown" MouseLeftButtonUp="root_MouseLeftButtonUp" MouseMove="root_MouseMove" DataContext="{Binding RelativeSource={RelativeSource Self}}"> ....
the code
Point anchorPoint; Point currentPoint; bool isInDrag = false; private void root_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { var element = sender as FrameworkElement; anchorPoint = e.GetPosition(null); element.CaptureMouse(); isInDrag = true; e.Handled = true; } private void root_MouseMove(object sender, MouseEventArgs e) { if (isInDrag) { var element = sender as FrameworkElement; currentPoint = e.GetPosition(null); var transform = new TranslateTransform { X = (currentPoint.X - anchorPoint.X), Y = (currentPoint.Y - anchorPoint.Y) }; this.RenderTransform = transform; anchorPoint = currentPoint; } } private void root_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (isInDrag) { var element = sender as FrameworkElement; element.ReleaseMouseCapture(); isInDrag = false; e.Handled = true; } }
if you change the code
X = (currentPoint.X - anchorPoint.X), Y = (currentPoint.Y - anchorPoint.Y)
to
X = (currentPoint.X), Y = (currentPoint.Y)
I can move usercontrol, but mouse and usercontrol do not match
Mediator
source share