PDA

View Full Version : چگونگی به انيمشين در آوردن gradientbrush با استفاده از coloranimation



shahrdar
سه شنبه 17 آذر 1388, 22:09 عصر
سلام دوستان

من هر چقدر گشتم پيدا نکردم، من ميخوام بک گراند button رو تغيير بدم کسی ميتونه کمکم کنه :لبخندساده:

رضا عربلو
چهارشنبه 18 آذر 1388, 18:46 عصر
کدتان را در اینجا قرار دهید تا بتوانیم مشکلتان را حل کنیم.

shahrdar
پنج شنبه 19 آذر 1388, 02:59 صبح
اينم کد
ميدونم که کاملاً اشتباهه ولی ميخواستم منظورم رو برسونم


Dim BK1 As RadialGradientBrush = Button1.Background
Dim CA As New ColorAnimation

CA.From = BK1
CA.To = Button2.Background

Button1.BeginAnimation(BackgroundProperty, CA)

رضا عربلو
پنج شنبه 19 آذر 1388, 10:27 صبح
شما می خواهید در یک colorAnimation به پراپرتی To مقدار یک brush را بدهید که نمی شود.برای انمیشن کردن یک radialGradiantBrush می توانید بصورت زیر عمل کنید


RadialGradientBrush myBrush2 = new RadialGradientBrush();
myBrush2.Opacity = 0.25;
myBrush2.GradientOrigin = new Point(0.5, 0.5);
myBrush2.GradientStops.Add(new GradientStop(Colors.Red, 0.0));
myBrush2.GradientStops.Add(new GradientStop(Colors.Green, 0.5));
myBrush2.GradientStops.Add(new GradientStop(Colors.Blue, 1.0));
this.Rectangle1.Fill = myBrush2;
this.RegisterName("myBrush2", myBrush2);
{
DoubleAnimation da = new DoubleAnimation();
da.To = 1;
da.Duration = TimeSpan.FromSeconds(1);
Storyboard.SetTargetName(da, "myBrush2");
Storyboard.SetTargetProperty(
da, new PropertyPath(RadialGradientBrush.OpacityProperty)) ;
Storyboard mouseEnterStoryboard = new Storyboard();
mouseEnterStoryboard.Children.Add(da);
Rectangle1.MouseEnter += delegate(object sender, MouseEventArgs e)
{
mouseEnterStoryboard.Begin(this);
};
}
{
DoubleAnimation da2 = new DoubleAnimation();
da2.To = 0.25;
da2.Duration = TimeSpan.FromSeconds(1);
Storyboard.SetTargetName(da2, "myBrush2");
Storyboard.SetTargetProperty(
da2, new PropertyPath(RadialGradientBrush.OpacityProperty)) ;
Storyboard mouseLeaveStoryboard2 = new Storyboard();
mouseLeaveStoryboard2.Children.Add(da2);
Rectangle1.MouseLeave += delegate(object sender, MouseEventArgs e)
{
mouseLeaveStoryboard2.Begin(this);
};
}