WPFのPropertyPath問題は - プロパティパス内のすべてのプロパティの参照を解決できません。

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

  •  18-09-2019
  •  | 
  •  

質問

私は仕事をするのPropertyPathを取得するために苦労しています - また、ウィンドウのリソースに...

- 私はストーリーボードを経由して影響を与えるためにしようとしているウィンドウのリソースの変革を持っています

私が使用している相続財産のパス...

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

編集:私は少しさらに持ってAnuragsの提案のおかげで...     (Viewport2DVisual3D.Transform)。(Transform3DGroup.Children)[0](RotateTransform3D.Rotation)。(AxisAngleRotation3D.Angle)

が、現在は

「回転プロパティは、DependencyPropertyに指していない」とのエラーがそれ

誰もが再び軌道に私を入れてくださいことはできますか?

フルのコードHERESに...

<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のすべての

まず、3Dキーフレームアニメーションを使用します。

と(Transform3DGroup.Children)を使用してStoryBoard.TargetPropertyの構文を修正する代わりに、

も、この点を確認してください。 ます。http://社会的。 msdn.microsoft.com/Forums/en-US/wpf/thread/78170274-a585-4cd6-85ed-edfd655d34abする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top