J'ai du mal à faire fonctionner un PropertyPath - J'ai une transformation dans la fenêtre Ressources que j'essaie d'affecter via un StoryBoard - également dans Window ressources ...WPF PropertyPath Problème - Impossible de résoudre toutes les références de propriété dans le chemin de propriété
Heres le chemin de la propriété ... J'utilise
(Viewport2DVisual3D.Transform).(Transform3DGroup)[0].(RotateTransform3D).(RotateTransform3D.Rotation).(AxisAngleRotation3D.Angle)
EDIT: Merci à la suggestion Anurags J'ai un peu plus loin ... (Viewport2DVisual3D.Transform) (. Transform3DGroup.Children) [0]. (RotateTransform3D.Rotation). (AxisAngleRotation3D.Angle)
mais maintenant il des erreurs avec "propriété Rotation ne pointe pas à un DependencyProperty"
Quelqu'un peut-il me remettre sur la bonne voie?
Heres le code complet ...
<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>
Salut, merci pour votre aide, je vais certainement jeter un oeil à l'aide de la place KeyFrames de ma double animation - mais en ce qui concerne le chemin de la propriété - j'ai essayé d'ajouter les .Enfants comme vous l'avez suggéré, j'ai également enlevé le premier RotateTransform3D car je me suis rendu compte que ce n'était pas nécessaire ... heres ce que j'ai maintenant ... (Viewport2DVisual3D.Transform). (Transform3DGroup.Children) [0]. (RotateTransform3D.Rotation). (AxisAngleRotation3D.Angle) Mais maintenant, les erreurs avec la propriété 'Rotation' ne pointent pas vers un objet de dépendance. Avez-vous des idées s'il vous plaît? –
Même erreur que je recevais aussi en utilisant Double Animation, C'est pourquoi j'ai dit d'utiliser 3D KeyFrame Animation au lieu de DoubleAnimation. Je n'ai pas eu le temps de le vérifier avec 3D KeyFrame Animation, vous essayez !! – viky