مشكلة WPF PropertyPath - لا يمكن حل جميع مراجع العقارات في مسار الممتلكات

StackOverflow https://stackoverflow.com/questions/1866941

  •  18-09-2019
  •  | 
  •  

سؤال

أنا تكافح للحصول على propertypath للعمل - لدي تحول في موارد النافذة التي أحاول التأثير عليها عبر لوحة العمل - أيضا في موارد النافذة ...

هيريس مسار العقار الذي أستخدمه ...

(Viewport2DVisual3D.Transform).(Transform3DGroup)[0].(RotateTransform3D).(RotateTransform3D.Rotation).(AxisAngleRotation3D.Angle)

تحرير: بفضل اقتراح Anurags، لدي بعض الشيء ... (Viewport2dvisual3d.transform). (تحويل 3dgroup.children) [0]. (rotatetransform3d.rotation). (axisanglerotation3d.jlange)

ولكن الآن أخطاء مع "خاصية الدوران لا تشير إلى dectencyproperty"

يمكن لأي شخص يرجى وضع لي مرة أخرى على المسار الصحيح؟

هيريس الكود بالكامل ...

<Window
x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
    <Window.Resources>

        <Transform3DGroup x:Key="WorldTranslation">
            <RotateTransform3D>
                <RotateTransform3D.Rotation>
                    <AxisAngleRotation3D Axis="0,1,0" Angle="0" />
                </RotateTransform3D.Rotation>
            </RotateTransform3D>
        </Transform3DGroup>

          <Storyboard x:Key="MyStoryboard">
        <DoubleAnimation
       Storyboard.Target="{Binding TemplatedParent}"     
       Storyboard.TargetProperty="(Viewport2DVisual3D.Transform).(Transform3DGroup.Children)[0].(RotateTransform3D.Rotation).(AxisAngleRotation3D.Angle)"
       From="0.0" To="360" Duration="0:0:1" />
    </Storyboard>

        <MeshGeometry3D
            x:Key="squareMeshFrontLeft"
            Positions="-1,-1,1 1,-1,1 1,1,1 -1,1,1"
            TriangleIndices="0 1 2 0 2 3"
            TextureCoordinates="0,1 1,1 1,0 0,0" />

        <DiffuseMaterial x:Key="visualHostMaterial" Brush="White" Viewport2DVisual3D.IsVisualHostMaterial="True" />
    </Window.Resources>

    <Viewport3D>
        <Viewport3D.Camera>
            <PerspectiveCamera Position="0,0,10" LookDirection="0,0,-1" />
        </Viewport3D.Camera>
        <Viewport2DVisual3D Material="{StaticResource visualHostMaterial}" Geometry="{StaticResource squareMeshFrontLeft}" >
            <Viewport2DVisual3D.Transform>
                <StaticResource ResourceKey="WorldTranslation" />
            </Viewport2DVisual3D.Transform>
            <StackPanel Background="Blue" Width="80" Height="80">
                <Button Height="30" Margin="20">
                    <Button.Content>Blah</Button.Content>
                    <Button.Triggers>
                        <EventTrigger RoutedEvent="Button.Click">
                            <EventTrigger.Actions>
                                <BeginStoryboard Storyboard="{StaticResource MyStoryboard}" >
                                </BeginStoryboard>
                            </EventTrigger.Actions>
                        </EventTrigger>
                    </Button.Triggers>
                </Button>
            </StackPanel>
        </Viewport2DVisual3D>
                <ModelVisual3D>
            <ModelVisual3D.Content>
                <AmbientLight Color="White" />
            </ModelVisual3D.Content>
        </ModelVisual3D>
    </Viewport3D>
</Window>
هل كانت مفيدة؟

المحلول

بادئ ذي بدء، بدلا من Doubleanimation، استخدم الرسوم المتحركة KeyFrame ثلاثية الأبعاد.

وتصحيح بناء جملة القصة المصورة الخاصة بك باستخدام بناء الجملة (تحويل 3DGroup.children) بدلا من

تحقق من ذلك أيضا:http://social.msdn.microsoft.com/forums/en-us/wpf/thread/78170274-A585-4CD6-85ed-edfd65d34ab.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top