【文件属性】:
文件名称: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)
网友评论
- 借鉴学习一下,还不错
- 不错,可以借鉴
- 感谢分享 不是我要的效果
- 不错,可以借鉴
- 非常有价值,感谢分享
- 不错,还是可以参考的
- 稍微有粗糙,可做学习参考
- 还好,有一定价值!
- 有一定的借鉴价值.
- 做的不错可以借鉴学习一下