wpf图片移动时出现跳动问题
//拖拽图片
private void DoMove(ImageEdit img, MouseEventArgs e)
{
if (e.LeftButton != MouseButtonState.Pressed)
return;
System.Windows.Point p1 = e.GetPosition(canvas);
DeltaX = p1.X - point.X;//记录鼠标在X轴的移动距离
DeltaY = p1.Y - point.Y;//记录鼠标在Y轴的移动距离
double newLeft = Canvas.GetLeft(EditImage) + DeltaX; //得到图片Left新位置
double newTop = Canvas.GetTop(EditImage) + DeltaY; //得到图片Top新位置
Canvas.SetLeft(EditImage, newLeft); //为图片赋Left新值
Canvas.SetTop(EditImage, newTop); //为图片赋Top新值
Canvas.SetLeft(canvas, newLeft); //为canvas赋Left新值
Canvas.SetTop(canvas, newTop); //为图canvas赋Top新值
point = e.GetPosition(canvas);
}
<ScrollViewer HorizontalScrollBarVisibility="Auto" DockPanel.Dock="Top" VerticalScrollBarVisibility="Auto" x:Name="sbScroll" ScrollChanged="ScrollViewer_OnScrollChanged">
<dxlc:DataLayoutControl Orientation="Horizontal" MouseLeftButtonUp="sbScroll_MouseLeftButtonUp" MouseDown="ScrollElement_OnMouseDown" MouseLeave="ScrollElement_OnMouseLeave"
MouseMove="sbScroll_MouseMove" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<Canvas x:Name="canvas" VerticalAlignment="Top" HorizontalAlignment="Left" Width="auto" Height="auto" >
<Label Content="{Binding SelectedItem.EmrNodeText}"
Background="#FFFFFF00" Panel.ZIndex="10" HorizontalContentAlignment="Center" Canvas.Left="200" Padding="50,5,50,5" MouseMove="UIElement_OnMouseMove" />
<dxe:ImageEdit x:Name="EditImage" RenderOptions.BitmapScalingMode="NearestNeighbor" Canvas.Left="0" Canvas.Top="0" ShowMenu="False" Stretch="None"
MouseWheel="ImageMouseWheel" MouseLeftButtonDown="EditImage_MouseLeftButtonDown" DataContextChanged="FrameworkElement_OnDataContextChanged" Source="{Binding SelectedBitmap}" >
<dxe:ImageEdit.LayoutTransform>
<TransformGroup >
<ScaleTransform/>
<TranslateTransform x:Name="tlt"/>
<SkewTransform/>
</TransformGroup>
</dxe:ImageEdit.LayoutTransform>
</dxe:ImageEdit>
</Canvas>
</dxlc:DataLayoutControl>
</ScrollViewer>
移动的时候会出现跳动问题,麻烦大家支招