- 浏览: 666938 次
- 性别:
- 来自: 石家庄
文章分类
最新评论
-
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 802http://completit.com/# -
silverlight独立存储示例
2011-03-07 17:17 1049void CreateDir(string dirNam ... -
silverlight SDK和toolit中控件英文如何转换为英文
2010-11-11 15:50 990解决方法: 设置 ... -
Silverlight4:网络地图服务
2010-10-16 11:01 1583Bing Maps与Google Earth一样 ... -
通过JS创建silverlight对象
2010-10-12 13:04 1648前言: 对于我们开发的silverlight应用来讲,有的时 ... -
silverlight childwindow源码
2010-09-18 21:17 1963<!-- // (c) Copyright Micro ... -
精彩的 Silverlight 开源项目
2010-08-18 14:32 2919Silverlight 物理模型 http://www.c ... -
MEF程序设计指南五:迟延(Lazy)加载导出部件(Export Part)与元数据(Metadata)
2010-08-12 10:34 930本文章非原创,转载自: 作 者:Beniao 文 ... -
MEF程序设计指南四:使用MEF声明导出(Exports)与导入(Imports)
2010-08-12 10:03 631本文章非原创,转载自: 作 者:Beniao 文 ... -
MEF程序设计指南三:MEF中组合部件(Composable Parts)与契约(Contracts)的基本应用
2010-08-12 09:52 542本文章非原创,转载自: 作 者:Beniao 文 ... -
MEF程序设计指南二:Silverlight中使用CompositionInitializer宿主MEF
2010-08-12 09:24 857本系列文章非原创,转载自: 作 者:Beniao ... -
MEF程序设计指南一:在应用程序中宿主MEF
2010-08-12 09:17 1022本系列文章非原创,转 ... -
silverlight应用程序库缓存
2010-08-10 14:22 1510应用程序库缓存可在用户重新访问网站时帮助改善启动性能。 ... -
Prism动态模块加载
2010-08-10 10:27 1631这篇介绍模块在silverlight的特殊应用. sil ... -
Silverlight中Json数据的转换方法(中文)
2010-08-04 11:36 1237[DataContract] public clas ... -
silverlight万花筒效果
2010-07-28 16:14 882见附件。 -
silverlight如何将颜色字符串转换为颜色
2010-07-02 10:42 1530public class ColorUtil { ... -
silverlight中Tab转Enter的实现方法
2010-06-04 17:38 1724silverlight项目中要求界面全键盘操作,并且在光标移动 ... -
在两个Silverlight应用间数据通信(包括与Flash通信)
2010-05-13 17:06 1002声明:该博文转载自:http://daizhj.blog.51 ... -
silverlight和js相互调用
2010-05-13 16:56 1674步骤一:在silverlight后台代码类中声明被js调用的方 ...
相关推荐
在本文中,我们将深入探讨如何在Silverlight中实现翻转效果,完全依赖于动画而无需任何后台代码。这种技术对于那些希望在用户界面中添加动态交互元素,尤其是按钮切换效果的开发者来说,是非常有用的。 首先,...
项目文件GHRQPrj可能包含了这个翻转效果实现的所有源代码,包括XAML文件(用于定义UI)、C#或VB.NET文件(用于编写业务逻辑和事件处理)以及可能的动画资源文件。通过分析这些文件,开发者可以学习到如何在...
在本文中,我们将深入探讨如何使用Silverlight控件来实现立体翻转效果。Silverlight是一种由微软开发的富客户端技术,用于创建具有丰富媒体体验和交互性功能的Web应用程序。结合Visual Studio 2010和Blend 4,开发者...
《Silverlight 2.0:实现鼠标移动时的图片翻转效果》 在Web开发领域,Silverlight 2.0是一款强大的工具,它允许开发者创建丰富的、交互式的媒体和应用程序,提供了一种全新的方式来展示内容。本篇文章将深入探讨...
在本文中,我们将深入探讨如何在Silverlight应用中利用Behavior机制无代码地实现倒影效果。Silverlight是一款由Microsoft开发的强大的RIA(Rich Internet Application)框架,它允许开发者创建具有丰富用户界面的Web...
提供的文件"Silverlight-Page-Flip-Navigation.pdf"可能包含了详细的步骤和示例代码,帮助开发者理解并实现Silverlight中的页面翻转导航。"LogOn.aspx?rp=%2FKB%2Fsilverlight%2FPageFlipNavigation%2...
【Silverlight超酷翻页实例】是一个利用Microsoft Silverlight技术实现的创新性用户界面效果,主要涉及到了网页中页面的动态翻转展示。Silverlight是微软推出的一种RIA(Rich Internet Application)开发框架,用于...
**WPF(Windows Presentation Foundation)和Silverlight是微软开发的两种不同的UI框架,主要用于构建丰富的桌面和网络应用程序。本文将深入探讨这两种技术实现的“翻书”效果,并结合提供的源代码进行解析。** **...
这个文件名可能是示例代码或资源文件,其中可能包含了实现翻页效果的具体代码和图形资源。在实际开发中,开发者通常会创建一个自定义控件,封装翻页逻辑,以便在多个地方复用。 6. **优化与性能**: 考虑到移动...
在本文中,我们将深入探讨如何使用Silverlight技术来创建一个超炫超酷的图片旋转动画效果。Silverlight是Microsoft推出的一种强大的RIA(Rich Internet Application)开发框架,它允许开发者创建丰富的交互式用户...
在实现"Silverlight翻书效果"这个项目时,你可能需要根据文件列表中的"Silverlight翻书效果"来分析源代码,理解各个部分是如何协同工作的。这可能包括XAML文件(定义UI布局和动画),C#后台代码(处理逻辑和事件),...
利用这个控件就可以很方便的实现以前需要写不少JavaScript代码实现的状态翻转的功能 Slider控件:Slider控件是一个非常重要的控件,特别是对网络多媒体播放器来说是必不可少的 其有几个比较重要的属性: Value...
通过学习这个教程,开发者可以掌握如何利用Silverlight统一服务器、Web和桌面的功能,融合托管代码和动态语言、声明性编程与传统编程,以及Windows Presentation Foundation (WPF)的功能。 讲座人章立民是资深的...
书页翻动特效通常会用到旋转、缩放和透明度变化等动画来模拟纸张的翻转动作。 2. **3D变换**:为了实现逼真的翻页效果,Silverlight的3D变换功能必不可少。通过TranslateTransform3D、RotateTransform3D等类,可以...
在IT行业中,Silverlight是一种已过时的但曾经广泛使用的富客户端开发技术,主要用于构建交互式的Web应用程序。它提供了一种强大的方式来扩展WPF(Windows Presentation Foundation)的功能到Web浏览器中。在...
在压缩包中的“pageturn”文件,很可能是包含这个实例项目的源代码和资源文件。通过分析这些文件,开发者可以深入理解翻页效果的具体实现方式,学习如何将Silverlight1.0的动画和媒体功能运用到实际项目中。 总结来...
1. **XAML语法**:与WPF类似,Silverlight也使用XAML语言来描述UI布局,BookControls的XAML代码会定义控件的结构和样式。 2. **动画和转换**:Silverlight提供了类似的动画和转换功能,BookControls的翻页动画将在...