Невозможно выполнить поворот после удаления ContainerUIElement3D из трехмерного окна просмотра при событии mousedown - PullRequest
0 голосов
/ 08 мая 2020

Я не могу выполнить поворот правой кнопкой мыши на 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

Основная цель - скрыть элемент во время вращения правой кнопкой мыши, как упоминалось ранее, если я щелкну за пределами элемента, он будет вращаться и скрывать элемент без проблем. , если я попытаюсь повернуть, когда указатель мыши окажется над элементом, который я скрываю, он скроет элемент и добавит его снова после отпускания кнопки мыши, но он не будет вращаться.

1 Ответ

0 голосов
/ 08 мая 2020

На всякий случай, если кто-то столкнется с такой же ситуацией:

Я решил эту проблему, вместо удаления и добавления элемента я просто установил свойство видимости на 1 в событии PreviewMouserightbuttondown и снова установил его на 0 в событии PreviewMouseRightButtonUp.

...