- 浏览: 648996 次
- 性别:
- 来自: 石家庄
文章分类
最新评论
-
abao1:
老贾 在安装IDEA的过程中,在激活步骤时,按如下操作即可: ...
IntelliJ IDEA 2016注册方法和注册码 -
bo_hai:
./usr/bin/java: symbol lookup ...
jmagick安装步骤 -
wxcking:
不错的, 收藏一下
JAVA使用POI生成Excel文件 -
zgyfh:
大哥,密码是多少啊?zgyfh@tom.com谢谢了!新手学习 ...
WPF做的必备示例 -
记忆无泪:
jiasongmao 写道你的邮箱是多少,我可以发源代码到邮箱 ...
WPF做的必备示例
using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace slapp002 { public enum enumDirection { Up, Down, Left, Right }; public class cShow3DPlane { public cShow3DPlane() { m_IsMoveOverIn = true; m_IsMoveOverOut = true; m_MoveSpeed = 2; sbTimeIn = new Storyboard(); sbTimeOut = new Storyboard(); SetTime(10, 10); sbTimeIn.Completed += new EventHandler(sbTimeIn_Completed); sbTimeOut.Completed += new EventHandler(sbTimeOut_Completed); } private int m_TimeSpeed1, m_TimeSpeed2, m_MoveSpeed, m_PlaneSpeed, m_InEnd, m_OutEnd; private double m_InLocalZ, m_OutLocalZ; private PlaneProjection m_pInPlane, m_pOutPlane; private Storyboard sbTimeIn, sbTimeOut; private enumDirection m_Direction; private bool m_IsMoveOverIn, m_IsMoveOverOut; //根据方向初始化两个planeProjection的相关值 private void InitPlaneData() { m_pInPlane.RotationX = 0; m_pInPlane.RotationY = 0; m_pInPlane.RotationZ = 0; m_pInPlane.CenterOfRotationX = 0.5; m_pInPlane.CenterOfRotationY = 0.5; m_pInPlane.CenterOfRotationZ = 0; m_pOutPlane.RotationX = 0; m_pOutPlane.RotationY = 0; m_pOutPlane.RotationZ = 0; m_pOutPlane.CenterOfRotationX = 0.5; m_pOutPlane.CenterOfRotationY = 0.5; m_pOutPlane.CenterOfRotationZ = 0; m_pOutPlane.LocalOffsetZ = m_OutLocalZ; m_pOutPlane.GlobalOffsetZ = -m_OutLocalZ; m_pInPlane.LocalOffsetZ = m_InLocalZ; m_pInPlane.GlobalOffsetZ = -m_InLocalZ; switch (m_Direction) { case enumDirection.Up: m_pInPlane.RotationX = -90; m_InEnd = 0; m_pOutPlane.RotationX = 0; m_OutEnd = 90; m_PlaneSpeed = m_MoveSpeed; break; case enumDirection.Down: m_pInPlane.RotationX = 90; m_InEnd = 0; m_pOutPlane.RotationX = 0; m_OutEnd = -90; m_PlaneSpeed = -m_MoveSpeed; break; case enumDirection.Left: m_pInPlane.RotationY = 90; m_InEnd = 0; m_pOutPlane.RotationY = 0; m_OutEnd = -90; m_PlaneSpeed = -m_MoveSpeed; break; case enumDirection.Right: m_pInPlane.RotationY = -90; m_InEnd = 0; m_pOutPlane.RotationY = 0; m_OutEnd = 90; m_PlaneSpeed = m_MoveSpeed; break; } } public void Begin() { m_IsMoveOverIn = false; m_IsMoveOverOut = false; sbTimeIn.Begin(); sbTimeOut.Begin(); } //设置进入和离开对象 public void SetInOutPlane(Grid gridIn, Grid gridOut, enumDirection eDirection) { m_pInPlane = new PlaneProjection(); m_pOutPlane = new PlaneProjection(); gridIn.Projection = m_pInPlane; gridOut.Projection = m_pOutPlane; if (eDirection == enumDirection.Left || eDirection == enumDirection.Right) { m_InLocalZ = gridIn.ActualWidth / 2; m_OutLocalZ = gridOut.ActualWidth / 2; } else { m_InLocalZ = gridIn.ActualHeight / 2; m_OutLocalZ = gridOut.ActualHeight / 2; } m_Direction = eDirection; InitPlaneData(); } //重载 public void SetInOutPlane(System.Windows.Controls.Control controlIn, System.Windows.Controls.Control controlOut, enumDirection eDirection) { m_pInPlane = new PlaneProjection(); m_pOutPlane = new PlaneProjection(); controlIn.Projection = m_pInPlane; controlOut.Projection = m_pOutPlane; if (eDirection == enumDirection.Left || eDirection == enumDirection.Right) { m_InLocalZ = controlIn.ActualWidth / 2; m_OutLocalZ = controlOut.ActualWidth / 2; } else { m_InLocalZ = controlIn.ActualHeight / 2; m_OutLocalZ = controlOut.ActualHeight / 2; } m_Direction = eDirection; InitPlaneData(); } public bool MoveOver() { if (!m_IsMoveOverIn || !m_IsMoveOverOut) return false; else return true; } //设置进入和离开动画的速度 public void SetTime(int timeSpeed1, int timeSpeed2) { m_TimeSpeed1 = timeSpeed1; m_TimeSpeed2 = timeSpeed2; sbTimeIn.Duration = new Duration(TimeSpan.FromMilliseconds(m_TimeSpeed1)); sbTimeOut.Duration = new Duration(TimeSpan.FromMilliseconds(m_TimeSpeed2)); } //离开对象的动画 void sbTimeOut_Completed(object sender, EventArgs e) { //throw new NotImplementedException(); if (m_Direction == enumDirection.Left || m_Direction == enumDirection.Right) { m_pOutPlane.RotationY += m_PlaneSpeed; if (m_pOutPlane.RotationY == m_OutEnd) m_IsMoveOverOut = true; } if (m_Direction == enumDirection.Up || m_Direction == enumDirection.Down) { m_pOutPlane.RotationX += m_PlaneSpeed; if (m_pOutPlane.RotationX == m_OutEnd) m_IsMoveOverOut = true; } if (!m_IsMoveOverOut) sbTimeOut.Begin(); else { m_pOutPlane.LocalOffsetZ = 0; m_pOutPlane.GlobalOffsetZ = 0; } } //进入对象的动画 void sbTimeIn_Completed(object sender, EventArgs e) { //throw new NotImplementedException(); if (m_Direction == enumDirection.Left || m_Direction == enumDirection.Right) { m_pInPlane.RotationY += m_PlaneSpeed; if (m_pInPlane.RotationY == m_InEnd) m_IsMoveOverIn = true; } if (m_Direction == enumDirection.Up || m_Direction == enumDirection.Down) { m_pInPlane.RotationX += m_PlaneSpeed; if (m_pInPlane.RotationX == m_InEnd) m_IsMoveOverIn = true; } if (!m_IsMoveOverIn) sbTimeIn.Begin(); else { m_pInPlane.LocalOffsetZ = 0; m_pInPlane.GlobalOffsetZ = 0; } } } }
using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.DataVisualization.Charting; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace slapp002 { public partial class MainPage : UserControl { private cShow3DPlane c3d = new cShow3DPlane(); private Grid gridCur = new Grid(); public MainPage() { // Required to initialize variables InitializeComponent(); } private void rightbt_Click(object sender, System.Windows.RoutedEventArgs e) { if (c3d.MoveOver()) { c3d.SetInOutPlane(linechart, colchart, enumDirection.Right); //gridCur = gridUp; c3d.Begin(); } } private void upbt_Click(object sender, System.Windows.RoutedEventArgs e) { if (c3d.MoveOver()) { c3d.SetInOutPlane(linechart, colchart, enumDirection.Up); //gridCur = gridUp; c3d.Begin(); } } private void leftbt_Click(object sender, System.Windows.RoutedEventArgs e) { if (c3d.MoveOver()) { c3d.SetInOutPlane(linechart, colchart, enumDirection.Left); //gridCur = gridUp; c3d.Begin(); } } private void downbt_Click(object sender, System.Windows.RoutedEventArgs e) { if (c3d.MoveOver()) { c3d.SetInOutPlane(linechart, colchart, enumDirection.Down); //gridCur = gridUp; c3d.Begin(); } } private void UserControl_Loaded(object sender, System.Windows.RoutedEventArgs e) { } } }
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:slapp002_Control="clr-namespace:slapp002.Control" xmlns:local="clr-namespace:slapp002" mc:Ignorable="d" x:Class="slapp002.MainPage" Width="640" Height="480" Loaded="UserControl_Loaded"> <Grid x:Name="LayoutRoot" Background="White" > <Grid.RowDefinitions> <RowDefinition Height="0.152*"/> <RowDefinition Height="0.848*"/> </Grid.RowDefinitions> <Button Content="上" x:Name="upbt" Height="26" Margin="265,8,289,0" VerticalAlignment="Top" Click="upbt_Click"/> <Button Content="左" x:Name="leftbt" Margin="162,29,0,18" HorizontalAlignment="Left" Width="86" Click="leftbt_Click"/> <Button Content="右" x:Name="rightbt" Margin="0,29,163,18" HorizontalAlignment="Right" Width="86" Click="rightbt_Click"/> <Button Content="下" x:Name="downbt" Margin="265,0,289,0" Height="26" VerticalAlignment="Bottom" Click="downbt_Click"/> <slapp002_Control:ColumnChartControl Name="colchart" Margin="0,0,0,0" Grid.Row="1"/> <local:LineChartControl Margin="0" Name="linechart" Grid.Row="1"/> </Grid> </UserControl>
发表评论
-
silvelright酷站
2011-03-22 18:47 775http://completit.com/# -
silverlight独立存储示例
2011-03-07 17:17 1020void CreateDir(string dirNam ... -
silverlight SDK和toolit中控件英文如何转换为英文
2010-11-11 15:50 962解决方法: 设置 ... -
Silverlight4:网络地图服务
2010-10-16 11:01 1530Bing Maps与Google Earth一样 ... -
通过JS创建silverlight对象
2010-10-12 13:04 1601前言: 对于我们开发的silverlight应用来讲,有的时 ... -
silverlight childwindow源码
2010-09-18 21:17 1937<!-- // (c) Copyright Micro ... -
精彩的 Silverlight 开源项目
2010-08-18 14:32 2891Silverlight 物理模型 http://www.c ... -
MEF程序设计指南五:迟延(Lazy)加载导出部件(Export Part)与元数据(Metadata)
2010-08-12 10:34 898本文章非原创,转载自: 作 者:Beniao 文 ... -
MEF程序设计指南四:使用MEF声明导出(Exports)与导入(Imports)
2010-08-12 10:03 571本文章非原创,转载自: 作 者:Beniao 文 ... -
MEF程序设计指南三:MEF中组合部件(Composable Parts)与契约(Contracts)的基本应用
2010-08-12 09:52 508本文章非原创,转载自: 作 者:Beniao 文 ... -
MEF程序设计指南二:Silverlight中使用CompositionInitializer宿主MEF
2010-08-12 09:24 823本系列文章非原创,转载自: 作 者:Beniao ... -
MEF程序设计指南一:在应用程序中宿主MEF
2010-08-12 09:17 986本系列文章非原创,转 ... -
silverlight应用程序库缓存
2010-08-10 14:22 1469应用程序库缓存可在用户重新访问网站时帮助改善启动性能。 ... -
Prism动态模块加载
2010-08-10 10:27 1549这篇介绍模块在silverlight的特殊应用. sil ... -
Silverlight中Json数据的转换方法(中文)
2010-08-04 11:36 1208[DataContract] public clas ... -
silverlight万花筒效果
2010-07-28 16:14 835见附件。 -
silverlight如何将颜色字符串转换为颜色
2010-07-02 10:42 1502public class ColorUtil { ... -
silverlight中Tab转Enter的实现方法
2010-06-04 17:38 1696silverlight项目中要求界面全键盘操作,并且在光标移动 ... -
在两个Silverlight应用间数据通信(包括与Flash通信)
2010-05-13 17:06 974声明:该博文转载自:http://daizhj.blog.51 ... -
silverlight和js相互调用
2010-05-13 16:56 1630步骤一:在silverlight后台代码类中声明被js调用的方 ...
相关推荐
Silverlight 翻转效果 ,由于发现好多翻转动画都是靠后台代码实现,所以我做了纯动画翻转,无代码,适合所有人群
多个Silverlight学习源代码:silverlight toolkit中的主题(theme)应用、SilverLight 桌面文件夹效果源码、Silverlight4.0 Demo 源码、Silverlight5 beta新特性源码、SilverlightDataGrid、SilverlightMVVM模式...
加密silverlight源代码 有效保护silverlight代码安全
Silverlight实现的登陆注册翻转 数据库没加 太大了:)
Silverlight 完整例子带教学资料。
silverlight开发 错误代码对照
.NET(Silverlight)代码混淆工具 .NET Reactor
silverlight的behavior,利用blend来使用导入的behavior,可以实现页面左右翻转,上下翻转,斜角翻转等效果。切换时特别炫
silverlight用代码实现项目 大于20字不是问题
Silverlight开源代码素材part3,收集了大量开源的Silverlight代码素材,学习Silverlight开发必备。
silverlight连接access代码
Silverlight用代码实现对任意控件向4个方向进行3D旋转
Silverlight商业网站开源项目,项目使用Silverlight特性制作商业网站,体现RIA应用的强大和绚丽。 项目为开源项目,可以随意修改和传播。 在线演示地址:...
arcgis silverlight vb.net源码 全面的基本功能案例代码
本程序主要是实现了两个图表控件向四个方向翻转的效果. 开发环境:vs2010,silverlight 4,blend 4。
Telerik 2011 Q2 Silverlight 开发版 附源代码下载 下载后有 115网盘地址 控件可用 无期限
Silverlight实战示例7(兼集合属性的妙用)示例代码,具体的讲解可参见博文 http://blog.csdn.net/hawksoft
Silverlight 文件上传代码
Telerik RadControls for Silverlight 2009.3 1103 源代码(总共4个压缩包)
silverlight4实例,代码,source