這是某人y代碼我有圖像(名稱:imgView),insode網格(名稱:grdImage),我希望圖像(縮放圖像)隨着鼠標在網格內移動,以及當它的邊界到達網格邊界停止 ,完全像「Windows照片查看器」。 FYI:Im使用scaleTransform縮放圖像:
Private Sub imgView_MouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
_IsMouseCapture = True
imgView.CaptureMouse()
Dim tt = DirectCast(DirectCast(imgView.RenderTransform, TransformGroup).Children.First(Function(tr) TypeOf tr Is TranslateTransform), TranslateTransform)
start = e.GetPosition(grdImage)
origin = New Point(tt.X, tt.Y)
End Sub
Private Sub imgView_MouseLeftButtonUp(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
_IsMouseCapture = False
imgView.ReleaseMouseCapture()
End Sub
Private Sub imgView_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
If (Not _IsMouseCapture) Then
Return
End If
Dim tt = DirectCast(DirectCast(imgView.RenderTransform, TransformGroup).Children.First(Function(tr) TypeOf tr Is TranslateTransform), TranslateTransform)
Dim vx As Double = start.X - e.GetSafePosition(grdImage).X
Dim vy As Double = start.Y - e.GetSafePosition(grdImage).Y
tt.Y = origin.Y - vy
tt.X = origin.X - vx
End Sub`
您能解決這個問題嗎? – 2011-07-08 22:14:11