单击helix工具包3D模型,以编程方式切换选项卡不起作用

时间:2019-07-08 11:26:40

标签: c# wpf 3d toolkit helix

在单击临时按钮后,选项卡将切换,但是在单击3D模型后,相同的功能将不起作用。

我在2个选项卡中有2个3d模型,并且要在此模型上选择一堆点,除了在选项卡之间切换外,我已经全部完成了。 我以为我用太多的操作弄乱了东西,但是我删掉了所有不必要的东西,只剩下带有两个选项卡的TabController和每个选项卡上一个3D模型。为了简化切换选项卡,我在ViewPort3D上分配了MouseDown操作,并在其他任何地方使用代码进行填充。

Xaml代码:

<Grid Grid.Column="0">
                <TabControl x:Name="Tabs3DControll" SelectedIndex="{Binding SelectedTabIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
                    <TabItem x:Name="TopTab" Header="Top">
                        <t:HelixViewport3D x:Name="Viewport3DTOP" CameraRotationMode="Turntable" ShowCameraTarget="True" IsHeadLightEnabled="True" MouseDown="Viewport3D_MouseDown" ShowCoordinateSystem="True">
                            <t:FileModelVisual3D x:Name="FileModel3DTOP" MouseMove="ModelOnMouseMove">
                            </t:FileModelVisual3D>
                        </t:HelixViewport3D>
                    </TabItem>
                    <TabItem x:Name="BottomTab" Header="Bottom" >
                        <t:HelixViewport3D x:Name="Viewport3DBOTTOM" CameraRotationMode="Turntable" ShowCameraTarget="True" IsHeadLightEnabled="True" MouseDown="Viewport3D_MouseDown" ShowCoordinateSystem="True">
                            <t:FileModelVisual3D x:Name="FileModel3DBOTTOM" MouseMove="ModelOnMouseMove">
                            </t:FileModelVisual3D>
                        </t:HelixViewport3D>
                    </TabItem>                    
                </TabControl>
            </Grid>

切换标签的代码:

private void Viewport3D_MouseDown(object sender, MouseButtonEventArgs e)
        {
            int newIndex = Tabs3DControll.SelectedIndex + 1;
            if (newIndex >= Tabs3DControll.Items.Count)
                newIndex = 0;
            Tabs3DControll.SelectedIndex = newIndex;
        }

我将绑定添加到SelectedIndex,以查看是否有一些值从外部更改,但值似乎合法,只有视图未正确显示,并且仅当我单击3d模型时,单击HelixViewport3D外部的按钮后选项卡才会切换。

如何在helix工具包中切换选项卡并单击3D模型?

0 个答案:

没有答案