Xaml이 아닌 코드로 만들어서 범용적이고 실용적으로 사용 가능
public static class FadeAnimationControl { public static void Fade(UIElement target, double ValueFrom, double ValueTo, double Duration) { DoubleAnimation da = new DoubleAnimation(); da.From = ValueFrom; da.To = ValueTo; da.Duration = TimeSpan.FromSeconds(Duration); da.AutoReverse = false; System.Windows.Media.Animation.Storyboard.SetTargetProperty(da, new PropertyPath("Opacity")); System.Windows.Media.Animation.Storyboard.SetTarget(da, target); System.Windows.Media.Animation.Storyboard sb = new System.Windows.Media.Animation.Storyboard(); sb.Children.Add(da); EventHandler eh = null; eh = (s, args) => { //target.Visibility = Visibility.Collapsed; sb.Stop(); sb.Completed -= eh; target.Opacity = ValueTo; }; sb.Completed += eh; sb.Begin(); } }
참고 : http://forums.create.msdn.com/forums/p/87462/525024.aspx
'Surface' 카테고리의 다른 글
[surface] SurfaceInkCanvas 컨트롤에서 Brush Size 조절법 (0) | 2012.05.10 |
---|---|
[surface] ScatterViewItem Content내에서 Width,Height 바꾸기 (0) | 2012.05.10 |
[surface] ContentControl에서 ContentPresenter의 활용 (0) | 2012.04.27 |
[surface] 해당 UserControl만 스크린샷(캡쳐) 하기 (0) | 2012.04.26 |
[surface] Media.Brush를 Media.Color로 Convert 하는 법 (0) | 2012.04.25 |