WPF TransformGroup

TranseformGroup が KeyFrame のごとく動作してしまった・・




<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Wpf-CB-1144" Height="500" Width="750" Background="Black">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100*" />
<ColumnDefinition Width="20*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1" Margin="5" >
<StackPanel Height="120" Margin="5" Background="#FF9CABF8">
<Slider Height="25" Name="slider1" Value="1" />
<Slider Height="25" Name="slider2" Value="2" />
<Slider Height="25" Name="slider3" Value="3" />
<Slider Height="25" Name="slider4" Value="4" />
</StackPanel>
</StackPanel>
<StackPanel Height="80" Name="stackPanel2" Width="170" Margin="150,220,60,150">
<Button Height="40" Name="button1" Background="#FFB7F2D7" Click="button1_Click" />
<Button Height="40" Name="button2" Background="#FFD09BE8" />
</StackPanel>
</Grid>
</Window>

キーフレームとの取っ組み合い中に出現した迷作。それなりには使える(?)




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Media.Animation;

namespace WpfApplication1
{
///


/// MainWindow.xaml の相互作用ロジック
///

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void button1_Click(object sender, RoutedEventArgs e)
{
RotateTransform Rotation11 = new RotateTransform();
RotateTransform Rotation12 = new RotateTransform();
RotateTransform Rotation13 = new RotateTransform();
RotateTransform Rotation14 = new RotateTransform();

TranslateTransform Translate21 = new TranslateTransform();
ScaleTransform Scale31 = new ScaleTransform();
SkewTransform Skew41 = new SkewTransform();

DoubleAnimation dAnime11 = new DoubleAnimation();
DoubleAnimation dAnime12 = new DoubleAnimation();
DoubleAnimation dAnime13 = new DoubleAnimation();
DoubleAnimation dAnime14 = new DoubleAnimation();
DoubleAnimation dAnime21 = new DoubleAnimation();
DoubleAnimation dAnime31 = new DoubleAnimation();
DoubleAnimation dAnime41 = new DoubleAnimation();

double wDuration1 = this.slider1.Value;
double wDuration2 = this.slider2.Value;
double wDuration3 = this.slider3.Value;
double wDuration4 = this.slider4.Value;

double wBeginTime2 = wDuration1;
double wBeginTime3 = wBeginTime2 + wDuration2;
double wBeginTime4 = wBeginTime3 + wDuration3;

dAnime11.BeginTime = TimeSpan.FromSeconds(0);
dAnime11.Duration = TimeSpan.FromSeconds(wDuration1);
dAnime11.To = 90;
dAnime12.BeginTime = TimeSpan.FromSeconds(wBeginTime2);
dAnime12.Duration = TimeSpan.FromSeconds(wDuration2);
dAnime12.To = 90;
dAnime13.BeginTime = TimeSpan.FromSeconds(wBeginTime3);
dAnime13.Duration = TimeSpan.FromSeconds(wDuration3);
dAnime13.To = 90;
dAnime14.BeginTime = TimeSpan.FromSeconds(wBeginTime4);
dAnime14.Duration = TimeSpan.FromSeconds(wDuration4);
dAnime14.To = 90;

dAnime21.BeginTime = TimeSpan.FromSeconds(wBeginTime2);
dAnime21.Duration = TimeSpan.FromSeconds(wDuration2);
dAnime21.To = 60;
dAnime31.BeginTime = TimeSpan.FromSeconds(wBeginTime3);
dAnime31.Duration = TimeSpan.FromSeconds(wDuration3);
dAnime31.To = 1.5;
dAnime41.BeginTime = TimeSpan.FromSeconds(wBeginTime4);
dAnime41.Duration = TimeSpan.FromSeconds(wDuration4);
dAnime41.To = 45;

TransformGroup TransformGroup5 = new TransformGroup();
TransformGroup5.Children.Add(Rotation11);
TransformGroup5.Children.Add(Rotation12);
TransformGroup5.Children.Add(Rotation13);
TransformGroup5.Children.Add(Rotation14);

TransformGroup5.Children.Add(Translate21);
TransformGroup5.Children.Add(Scale31);
TransformGroup5.Children.Add(Skew41);
stackPanel2.RenderTransform = TransformGroup5;

Rotation11.BeginAnimation(RotateTransform.AngleProperty, dAnime11);
Rotation12.BeginAnimation(RotateTransform.AngleProperty, dAnime12);
Rotation13.BeginAnimation(RotateTransform.AngleProperty, dAnime13);
Rotation14.BeginAnimation(RotateTransform.AngleProperty, dAnime14);
Translate21.BeginAnimation(TranslateTransform.XProperty, dAnime21);
Scale31.BeginAnimation(ScaleTransform.ScaleXProperty, dAnime31);
Skew41.BeginAnimation(SkewTransform.AngleXProperty, dAnime41);
}
}
}



AX

TYKYUNC index