silverlight3的"伪"3D续--图片横向轮换
时间:2022-04-23
本文章向大家介绍silverlight3的"伪"3D续--图片横向轮换,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
上一篇里,已经知道了“伪3D”是怎么回事,今天结合以前的做的图片广告轮换,又弄了一个图片切换的小东东,不知道以后有什么用,先贴在这里备份:
效果图:
因为silverlight的xml读取策略等其它原因,没办法直接在博客中贴出来,下面是在线示例地址:
http://images.24city.com/jimmy/projection/default.htm
思路:
1.将每个图片以及下面的标题文字,封装成控件
<UserControl x:Class="ControlTest.model.ImgItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" >
<UserControl.Resources>
<Storyboard x:Name="sbShow">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="img" Storyboard.TargetProperty="(UIElement.Opacity)">
<EasingDoubleKeyFrame KeyTime="00:00:00" Value="0.0"/>
<EasingDoubleKeyFrame KeyTime="00:00:01" Value="1.0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
<StackPanel Orientation="Vertical">
<Image x:Name="img" Width="300" Cursor="Hand" Grid.Row="0">
<Image.Projection>
<PlaneProjection RotationY="60" RotationZ="4" x:Name="pp"></PlaneProjection>
</Image.Projection>
</Image>
<TextBlock x:Name="txtTitle" Text="Image's Title" TextAlignment="Center" TextWrapping="Wrap" Grid.Row="0" Visibility="Collapsed" HorizontalAlignment="Center" Margin="0,5,0,0">
</TextBlock>
</StackPanel>
</UserContro>
2.动态加载xml数据源,xml配置如下:
<?xml version="1.0" encoding="utf-8" ?>
<data>
<item src="img/001.jpg" title="第一张图片(点击将跳转到百度)" link="http://www.baidu.com/" />
<item src="img/002.jpg" title="第二张图片" link="img/002.jpg" />
<item src="img/003.jpg" title="第三张图片(点击将跳转到我的博客)" link="http://yjmyzz.cnblogs.com/" />
<item src="img/004.jpg" title="第四张图片" link="img/004.jpg" />
<item src="img/005.jpg" title="第五张图片" link="img/005.jpg" />
<item src="img/006.jpg" title="第六张图片" link="img/006.jpg" />
<item src="img/007.jpg" title="第七张图片" link="img/007.jpg" />
<item src="img/008.jpg" title="第八张图片" link="img/008.jpg" />
<item src="img/009.jpg" title="第九张图片" link="img/009.jpg" />
<config canvasleft="150" smallImgTop="100" smallImgWidth="240" bigImgTop="10" bigImgWidth="500" itemSpace="80" midIndex="4" adjustWidth="70"/>
</data>
3.动态生成1中封装的控件,然后动态加载到主界面中的Canvas 中
详情见源代码
仍有很多改进之外,比如图片太多时,横向可考虑用左右箭头移动,而且现在这种直接渐变出大图的效果也很粗糙,如果有朋友抽空改进了,记得通知我一起分享(目前国内的silverlight研究氛围太淡,需要更多人的关注...)
源代码:http://files.cnblogs.com/yjmyzz/Projection.rar
转载请注明来自菩提树下的杨过
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(三)模拟执行
- PAT (Basic Level) Practice (中文)1011 A+B 和 C (15 分)
- SAP Spartacus里ng-template的一个实际应用
- PAT (Basic Level) Practice (中文)1039 到底买不买 (20 分)
- PAT (Basic Level) Practice (中文)1013 数素数 (20 分)
- PAT (Basic Level) Practice (中文)1041 考试座位号 (15 分)
- 《Java 面试问题 一 Spring 、SpringMVC 、Mybatis》
- SAP Spartacus里的product carousel控件的实现cx-product-carousel
- PAT (Basic Level) Practice (中文)1014 福尔摩斯的约会 (20 分)
- 《数据结构与算法_插入排序》
- UGL之标准位图
- Linux(Centos7.X ) 配置Java 环境变量
- CNS图表复现05—免疫细胞亚群再分类
- PAT (Basic Level) Practice (中文)1015 德才论 (25 分)
- 前端下载二进制流文件