Я не могу выполнить поворот правой кнопкой мыши на viewport3d, когда указатель мыши находится над ContainerUIElement3D
, который я удаляю во время события PreviewMouserightbuttondown
. Если я щелкну где-нибудь за пределами элемента, произойдет вращение, и ContainerUIElement3D
будет удалено, а затем добавлено ViewPort3d_PreviewMouseRightButtonUp
. Вот код:
Private _modis As ContainerUIElement3D
Public Property modis() As ContainerUIElement3D
Get
Return _modis
End Get
Set(value As ContainerUIElement3D)
_modis = value
End Set
End Property
Private Sub ViewPort3d_PreviewMouseRightButtonDown(sender As Object, e As MouseButtonEventArgs)
If My.Computer.Keyboard.CtrlKeyDown Then
ElseIf My.Computer.Keyboard.ShiftKeyDown Then
ElseIf My.Computer.Keyboard.AltKeyDown Then
Else
Dim orvps As Integer = viewPort3d.Children.Count() - 1
For ii = 0 To orvps
If viewPort3d.Children(ii).GetType.ToString() = "System.Windows.Media.Media3D.ContainerUIElement3D" Then
modis = viewPort3d.Children(ii)
viewPort3d.Children.Remove(viewPort3d.Children(ii))
Exit For
End If
Next
End If
End Sub
Private Sub ViewPort3d_PreviewMouseRightButtonUp(sender As Object, e As MouseButtonEventArgs)
If My.Computer.Keyboard.CtrlKeyDown Then
ElseIf My.Computer.Keyboard.ShiftKeyDown Then
ElseIf My.Computer.Keyboard.AltKeyDown Then
Else
If modis Is Nothing Then
Else
Try
viewPort3d.Children.Add(modis)
Catch ex As Exception
End Try
End If
End If
End Sub
Основная цель - скрыть элемент во время вращения правой кнопкой мыши, как упоминалось ранее, если я щелкну за пределами элемента, он будет вращаться и скрывать элемент без проблем. , если я попытаюсь повернуть, когда указатель мыши окажется над элементом, который я скрываю, он скроет элемент и добавит его снова после отпускания кнопки мыши, но он не будет вращаться.