文件名称:WPF 图片3D切换 源码
文件大小:824KB
文件格式:RAR
更新时间:2016-07-28 08:44:47
WPF 图片 3D 切换 源码
VS2010 部分代码: private Storyboard front2BackStory; private Storyboard back2FrontStory; private Border frontWarpper; private Border backWarpper; public Rotate3DContainer() { InitializeComponent(); this.Loaded += new RoutedEventHandler(Container_Loaded); } private void Container_Loaded(object sender, RoutedEventArgs e) { Init(); } private void Init() { if (this.Children.Count == 2) { UIElement[] array = new UIElement[2]; this.Children.CopyTo(array, 0); this.Children.Clear(); frontWarpper = new Border() { Child = array[0], HorizontalAlignment=HorizontalAlignment.Left, VerticalAlignment=VerticalAlignment.Top, Background = Brushes.Transparent }; backWarpper = new Border() { Child = array[1], Opacity = 0, Visibility = Visibility.Hidden, HorizontalAlignment=HorizontalAlignment.Left, VerticalAlignment=VerticalAlignment.Top, Background = Brushes.Transparent }; Viewport3D viewport = Get3DView(); viewport.HorizontalAlignment = HorizontalAlignment.Left; viewport.VerticalAlignment = VerticalAlignment.Top; viewport.Height = frontWarpper.Child.DesiredSize.Height; viewport.Width = frontWarpper.Child.DesiredSize.Width; front2BackStory = new Storyboard() { Children = new TimelineCollection() { GetShowHideAnimation(viewport, 0, 1100), GetShowHideAnimation(backWarpper, 1000, -1), GetShowHideAnimation(frontWarpper, -1, 50), GetFadeAnimation(frontWarpper, 0, -1, 50), GetFadeAnimation(backWarpper, 1, 1050, 50), GetCameraMoveAnimation(0, 0, 0.5, 0, 0, 1.1, 50, 500,viewport), GetRotateAnimation(0, -180, 0.3, 0.3, 50, 1000) } }; back2FrontStory = new Storyboard() { Children = new TimelineCollection() { GetShowHideAnimation(viewport, 0, 1100), GetShowHideAnimation(frontWarpper, 1000, -1), GetShowHideAnimation(backWarpper, -1, 50), GetFadeAnimation(backWarpper, 0, -1, 50), GetFadeAnimation(frontWarpper, 1, 1050, 50), GetCameraMoveAnimation(0, 0, 0.5, 0, 0, 1.1, 50, 500, viewport), GetRotateAnimation(180, 360, 0.3, 0.3, 50, 1000) } }; this.Effect = new DropShadowEffect() { BlurRadius = 10, Opacity = 0.8 }; this.Children.Add(frontWarpper); this.Children.Add(backWarpper); this.Children.Add(viewport); array = null; } }
【文件预览】:
WPFDemo
----WPFDemo.sln(863B)
----WPFDemo.suo(47KB)
----WPFDemo()
--------User3DPanel.xaml(501B)
--------Panel1.xaml(662B)
--------App.xaml.cs(303B)
--------Container.cs(176B)
--------MainWindow.xaml.cs(805B)
--------MainWindow.xaml(524B)
--------Properties()
--------Images()
--------Rotate3DContainer.xaml.cs(9KB)
--------User3DPanel.xaml.cs(735B)
--------Rotate3DContainer.xaml(477B)
--------WPFDemo.csproj(6KB)
--------Panel2.xaml(646B)
--------App.xaml(318B)
--------Panel2.xaml.cs(1KB)
--------obj()
--------ContainerUtils.cs(583B)
--------bin()
--------Panel1.xaml.cs(1KB)