2013-11-28 87 views
0

我有一个分配,我想旋转一个球存在于椭圆中递归应用程序加载并保持旋转直到它关闭......但我不知道这样做..任何人请帮助我..在此先感谢。我在XAML代码是...如何在WPF中旋转椭圆

<Window Loaded="StartGame" x:Class="PaddingBall.Window1" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      Height="500" Width="700" Background="White" Name="playground" ResizeMode="NoResize"  
      WindowStartupLocation="CenterScreen" SizeToContent="WidthAndHeight"> 
     <Canvas Width="700" Height="500"> 

     <Grid Height="462" Width="700" Canvas.Top="-18"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="700*" /> 
       <ColumnDefinition Width="0*" /> 
       <ColumnDefinition Width="0*" /> 
      </Grid.ColumnDefinitions> 
       <Ellipse Margin="108,88,0,0" Name="ball" Stroke="Black" Height="29"                
        VerticalAlignment="Top" Stretch="UniformToFill" HorizontalAlignment="Left"    
        Width="28" RenderTransformOrigin="0.5,0.5"> 
        <Ellipse.RenderTransform> 
         <TransformGroup> 
          <ScaleTransform/> 
        <SkewTransform/> 
        <RotateTransform Angle="2735.771"/> 
       <TranslateTransform/> 
       </TransformGroup> 
      </Ellipse.RenderTransform> 
       <Ellipse.Fill> 
        <ImageBrush ImageSource="C:\Users\A TECH\Desktop\project\2.jpg"/> 
       </Ellipse.Fill> 
      <Ellipse.BitmapEffect> 
       <BevelBitmapEffect BevelWidth="1" /> 
      </Ellipse.BitmapEffect> 
       <Ellipse.BitmapEffectInput> 
        <BitmapEffectInput /> 
       </Ellipse.BitmapEffectInput> 
     </Ellipse> 
     <Rectangle Height="13" Margin="200,390,0,0" Name="pad" Stroke="Black" 
      VerticalAlignment="Bottom" Fill="Black" HorizontalAlignment="Left" Width="100" /> 
    </Grid> 
</Canvas> 

+0

你应该看看[故事板] (http://msdn.microsoft.com/en-us/libra ry/ms742868(v = vs.110).aspx) – Santux

回答

1

这将肯定把你的椭圆,直到永远。

<Window x:Class="WpfApplication3.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Window.Resources> 
     <Storyboard x:Key="Storyboard1"> 
      <DoubleAnimationUsingKeyFrames RepeatBehavior="Forever" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="ball"> 
       <EasingDoubleKeyFrame KeyTime="0" Value="0"/> 
       <EasingDoubleKeyFrame KeyTime="0:0:1" Value="360"/> 
      </DoubleAnimationUsingKeyFrames> 
     </Storyboard> 
    </Window.Resources> 
    <Window.Triggers> 
     <EventTrigger RoutedEvent="FrameworkElement.Loaded"> 
      <BeginStoryboard Storyboard="{StaticResource Storyboard1}"/> 
     </EventTrigger> 
    </Window.Triggers> 
    <Grid> 
     <Canvas Width="700" Height="500"> 

     <Grid Height="462" Width="700" Canvas.Top="-18"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="700*" /> 
       <ColumnDefinition Width="0*" /> 
       <ColumnDefinition Width="0*" /> 
      </Grid.ColumnDefinitions> 
      <Ellipse Margin="108,88,0,0" Name="ball" Stroke="Black" Height="129"                
        VerticalAlignment="Top" Stretch="UniformToFill" HorizontalAlignment="Left"    
        Width="128" RenderTransformOrigin="0.5,0.5"> 
       <Ellipse.RenderTransform> 
        <TransformGroup> 
         <ScaleTransform/> 
         <SkewTransform/> 
         <RotateTransform /> 
         <TranslateTransform/> 
        </TransformGroup> 
       </Ellipse.RenderTransform> 
       <Ellipse.Fill> 
        <ImageBrush ImageSource="C:\Users\A TECH\Desktop\project\2.jpg"/> 
       </Ellipse.Fill> 
       <Ellipse.BitmapEffect> 
        <BevelBitmapEffect BevelWidth="1" /> 
       </Ellipse.BitmapEffect> 
       <Ellipse.BitmapEffectInput> 
        <BitmapEffectInput /> 
       </Ellipse.BitmapEffectInput> 
      </Ellipse> 
      <Rectangle Height="13" Margin="200,390,0,0" Name="pad" Stroke="Black" 
      VerticalAlignment="Bottom" Fill="Black" HorizontalAlignment="Left" Width="100" /> 

     </Grid> 
    </Canvas> 
    </Grid> 
</Window> 
+0

非常感谢你emedo :) – user2996533

+0

@ user2996533随时接受我的答案,如果它解决了你的问题... –

+0

@emedo Yup它真的帮助我很多..: ) – user2996533