0
私はWPF 4/VB.net 2010プロジェクトを持っていますが、私は視覚的なドラッグアンドドロップをしようとしていますMouseUpイベントでのマウスとのMouseDownの "スティック")私は背後に次のコードを持っている:。シミュレーションされたビジュアルドラッグ/ドロップ(このコードでは間違っているもの)
Private Sub Tile1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles Tile1.MouseDown
Tile1.CaptureMouse()
IsDragging = True
End Sub
Private Sub Tile1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Input.MouseEventArgs) Handles Tile1.MouseMove
If IsDragging = True Then
Dim canvPosToWindow As Point = canv.TransformToAncestor(Me).Transform(New Point(0, 0))
Dim r As Rectangle = TryCast(sender, Rectangle)
Dim upperlimit As Double = canvPosToWindow.Y + (r.Height/2)
Dim lowerlimit As Double = canvPosToWindow.Y + canv.ActualHeight - (r.Height/2)
Dim leftlimit As Double = canvPosToWindow.X + (r.Width/2)
Dim rightlimit As Double = canvPosToWindow.X + canv.ActualWidth - (r.Width/2)
Dim absmouseXpos As Double = e.GetPosition(Me).X
Dim absmouseYpos As Double = e.GetPosition(Me).Y
If (absmouseXpos > leftlimit AndAlso absmouseXpos < rightlimit) AndAlso (absmouseYpos > upperlimit AndAlso absmouseYpos < lowerlimit) Then
r.SetValue(Canvas.LeftProperty, e.GetPosition(canv).X - (r.Width/2))
r.SetValue(Canvas.TopProperty, e.GetPosition(canv).Y - (r.Height/2))
End If
End If
End Sub
Private Sub Tile1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles Tile1.MouseUp
Tile1.ReleaseMouseCapture()
IsDragging = False
End Sub
私はこのエラーを取得しています:
Dim upperlimit As Double = canvPosToWindow.Y + (r.Height/2)
Dim lowerlimit As Double = canvPosToWindow.Y + canv.ActualHeight - (r.Height/2)
Dim leftlimit As Double = canvPosToWindow.X + (r.Width/2)
Dim rightlimit As Double = canvPosToWindow.X + canv.ActualWidth - (r.Width/2)
:次の行のそれぞれに
NullReferenceException, Object reference not set to an instance of an object.
を
私は間違って何をしていますか?
ブレークポイントを設定してもエラーが解消されなかったため、TryCastをDirectCastに変更しましたが、もちろんエラーが表示されました。私は長方形にラベルをキャストしようとしていました。 TY !! – CodeMouse92