m110_110
جمعه 11 آذر 1390, 16:11 عصر
با سلام
می بخشید ولی خوب هر کار کردم و هرچی جستجو می کنم ولی باز کارم راه نمی افته
من قصدم اینه که یک Storyboard بنویسم و برای چند تا Viewport3D استفاده کنم اما به مشکل خوردم و Storyboard اجرا نمیشه و دیگر نمی دونم چکار کنم . چون می خوام این Storyboard را برای چند Elemnt استفاده کنم پس نمی تونم نام یک Elemnt رو به عنوان SorceName بیارم
راستی چند جور این کد رو عوض کردم ولی باز جوابم رو نگرفتم
این هم کد:
<Window x:Class="test2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="478" Width="357">
<Window.Resources>
<Style x:Key="V3D" TargetType="Viewport3D">
<Style.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<Rotation3DAnimationUsingKeyFrames BeginTime="0:0:0" Storyboard.TargetProperty="(Viewport3D.Children)[0].(Viewport2DVisual3D.Transform).(Transform3DGroup. Children)[0].(RotateTransform3D.Rotation)">
<LinearRotation3DKeyFrame KeyTime="0:0:0">
<LinearRotation3DKeyFrame.Value>
<AxisAngleRotation3D Axis="1,0,0" Angle="50"/>
</LinearRotation3DKeyFrame.Value>
</LinearRotation3DKeyFrame>
<LinearRotation3DKeyFrame KeyTime="0:0:1">
<LinearRotation3DKeyFrame.Value>
<AxisAngleRotation3D Axis="1,0,0" Angle="-40"/>
</LinearRotation3DKeyFrame.Value>
</LinearRotation3DKeyFrame>
</Rotation3DAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<Viewport3D x:Name="St1" Height="40" Style="{StaticResource V3D}">
<Viewport3D.Camera>
<PerspectiveCamera Position="0, 0.75, 4" />
</Viewport3D.Camera>
<Viewport2DVisual3D>
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D Positions="-1,-1,0 1,-1,0 1,1,0 -1,1,0" TriangleIndices="0,1,2 2,3,0" TextureCoordinates="0,1 1,1 1,0 0,0" />
</Viewport2DVisual3D.Geometry>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True"/>
</Viewport2DVisual3D.Material>
<Viewport2DVisual3D.Visual>
<Border BorderBrush="White" BorderThickness="1">
<StackPanel Margin="0 0 0 100">
<Button Margin="3" Width="150">Click Me</Button>
</StackPanel>
</Border>
</Viewport2DVisual3D.Visual>
<Viewport2DVisual3D.Transform>
<Transform3DGroup>
<TranslateTransform3D OffsetZ="0" OffsetX="0" OffsetY="0"/>
<ScaleTransform3D ScaleZ="1" ScaleY="1" ScaleX="1"/>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="1,0,0" Angle="0"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</Viewport2DVisual3D.Transform>
</Viewport2DVisual3D>
<!-- Lights -->
<ModelVisual3D>
<ModelVisual3D.Content>
<DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1"/>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
</StackPanel>
</Grid>
</Window>
می بخشید ولی خوب هر کار کردم و هرچی جستجو می کنم ولی باز کارم راه نمی افته
من قصدم اینه که یک Storyboard بنویسم و برای چند تا Viewport3D استفاده کنم اما به مشکل خوردم و Storyboard اجرا نمیشه و دیگر نمی دونم چکار کنم . چون می خوام این Storyboard را برای چند Elemnt استفاده کنم پس نمی تونم نام یک Elemnt رو به عنوان SorceName بیارم
راستی چند جور این کد رو عوض کردم ولی باز جوابم رو نگرفتم
این هم کد:
<Window x:Class="test2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="478" Width="357">
<Window.Resources>
<Style x:Key="V3D" TargetType="Viewport3D">
<Style.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<Rotation3DAnimationUsingKeyFrames BeginTime="0:0:0" Storyboard.TargetProperty="(Viewport3D.Children)[0].(Viewport2DVisual3D.Transform).(Transform3DGroup. Children)[0].(RotateTransform3D.Rotation)">
<LinearRotation3DKeyFrame KeyTime="0:0:0">
<LinearRotation3DKeyFrame.Value>
<AxisAngleRotation3D Axis="1,0,0" Angle="50"/>
</LinearRotation3DKeyFrame.Value>
</LinearRotation3DKeyFrame>
<LinearRotation3DKeyFrame KeyTime="0:0:1">
<LinearRotation3DKeyFrame.Value>
<AxisAngleRotation3D Axis="1,0,0" Angle="-40"/>
</LinearRotation3DKeyFrame.Value>
</LinearRotation3DKeyFrame>
</Rotation3DAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<Viewport3D x:Name="St1" Height="40" Style="{StaticResource V3D}">
<Viewport3D.Camera>
<PerspectiveCamera Position="0, 0.75, 4" />
</Viewport3D.Camera>
<Viewport2DVisual3D>
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D Positions="-1,-1,0 1,-1,0 1,1,0 -1,1,0" TriangleIndices="0,1,2 2,3,0" TextureCoordinates="0,1 1,1 1,0 0,0" />
</Viewport2DVisual3D.Geometry>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True"/>
</Viewport2DVisual3D.Material>
<Viewport2DVisual3D.Visual>
<Border BorderBrush="White" BorderThickness="1">
<StackPanel Margin="0 0 0 100">
<Button Margin="3" Width="150">Click Me</Button>
</StackPanel>
</Border>
</Viewport2DVisual3D.Visual>
<Viewport2DVisual3D.Transform>
<Transform3DGroup>
<TranslateTransform3D OffsetZ="0" OffsetX="0" OffsetY="0"/>
<ScaleTransform3D ScaleZ="1" ScaleY="1" ScaleX="1"/>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="1,0,0" Angle="0"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</Viewport2DVisual3D.Transform>
</Viewport2DVisual3D>
<!-- Lights -->
<ModelVisual3D>
<ModelVisual3D.Content>
<DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1"/>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
</StackPanel>
</Grid>
</Window>