WPF PropertyPath 문제 - 부동산 경로에서 모든 속성 참조를 해결할 수 없습니다.
-
18-09-2019 - |
문제
나는 재산을 일하기 위해 고군분투하고있다 - 나는 스토리 보드를 통해 영향을 미치려고하는 창자 자원을 전환했다 - 또한 창자 자원 ...
그녀는 내가 사용하는 속성 경로입니다 ...
(Viewport2DVisual3D.Transform).(Transform3DGroup)[0].(RotateTransform3D).(RotateTransform3D.Rotation).(AxisAngleRotation3D.Angle)
편집 : anurags 제안 덕분에 조금 더 나아갔습니다 ... (viewport2dvisual3d.transform). (transform3dgroup.children) [0].
그러나 이제 "회전 속성이 의존성 분비물을 가리키지 않습니다"오류가 발생합니다.
누구든지 나를 다시 궤도에 올려 줄 수 있습니까?
그녀는 코드를 전체적으로 ...
<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>
해결책
우선, 이중화 대신 3D 키 프레임 애니메이션을 사용하십시오.
스토리 보드를 수정하십시오. TargetProperty의 구문을 사용하여 (transform3dgroup.children) 대신
이것도 확인하십시오 :http://social.msdn.microsoft.com/forums/en-us/wpf/thread/78170274-a585-4cd6-85ed-edfd655d34ab
제휴하지 않습니다 StackOverflow