簡體   English   中英

如何將Rotate3D XAML轉換為C#代碼

[英]How convert rotate3d xaml to c# code

我想在WPF中的3d視圖中旋轉按鈕,我用google搜索並找到了此鏈接

但是我想在C#代碼后面執行此操作,如何將XAML故事板代碼轉換為C#代碼后面的代碼,當單擊按鈕時,它將繞z軸旋轉

<Viewport3D>
<Viewport3D.Camera>
    <PerspectiveCamera Position="0, 0, 4"/>
</Viewport3D.Camera>
<Viewport2DVisual3D x:Name="v2dv3d">
    <Viewport2DVisual3D.Transform>
        <RotateTransform3D>
            <RotateTransform3D.Rotation>
                <AxisAngleRotation3D Angle="0" Axis="0, 1, 0" />
            </RotateTransform3D.Rotation>
        </RotateTransform3D>
    </Viewport2DVisual3D.Transform>
    <Viewport2DVisual3D.Geometry>
        <MeshGeometry3D Positions="-1,1,0 -1,-1,0 1,-1,0 1,1,0"
                TextureCoordinates="0,0 0,1 1,1 1,0" TriangleIndices="0 1 2 0 2 3"/>
    </Viewport2DVisual3D.Geometry>

    <Viewport2DVisual3D.Material>
        <DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="White"/>
    </Viewport2DVisual3D.Material>
    <Button Content="Hello, 3D">
        <Button.Triggers>
            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                <BeginStoryboard>
                    <Storyboard RepeatBehavior="Forever">
                        <Rotation3DAnimation Storyboard.TargetName="v2dv3d"
                                                Storyboard.TargetProperty="(Viewport2DVisual3D.Transform).(RotateTransform3D.Rotation)"
                                                Duration="0:0:2"
                                                BeginTime="0:0:0">
                            <Rotation3DAnimation.From>
                                <AxisAngleRotation3D Angle="0" Axis="0, 1, 0" />
                            </Rotation3DAnimation.From>
                            <Rotation3DAnimation.To>
                                <AxisAngleRotation3D Angle="90" Axis="0, 1, 0" />
                            </Rotation3DAnimation.To>
                        </Rotation3DAnimation>
                        <Rotation3DAnimation Storyboard.TargetName="v2dv3d"
                                                Storyboard.TargetProperty="(Viewport2DVisual3D.Transform).(RotateTransform3D.Rotation)"
                                                Duration="0:0:2"
                                                BeginTime="0:0:2">
                            <Rotation3DAnimation.From>
                                <AxisAngleRotation3D Angle="-90" Axis="0, 1, 0" />
                            </Rotation3DAnimation.From>
                            <Rotation3DAnimation.To>
                                <AxisAngleRotation3D Angle="0" Axis="0, 1, 0" />
                            </Rotation3DAnimation.To>
                        </Rotation3DAnimation>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Button.Triggers>
    </Button>
</Viewport2DVisual3D>
<ModelVisual3D>
    <ModelVisual3D.Content>
        <DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1"/>
    </ModelVisual3D.Content>
</ModelVisual3D>

n

恐怕不是,您必須在背后的代碼中編寫編寫情節提要所需的所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM