在WPF工程中插入Flash对象
如何在 WPF 中嵌入 Flash (ActiveX)
背景
最近一个 Partner 希望将以前的 Flash 嵌入到一个全新的 WPF 应用中,将 WPF 在 .NET 3.0 下丰富的用户体验和 Flash 动画相结合,更好地服务于其用户。
嵌入 Flash 相当于嵌入一个 ActiveX 控件,在嵌入过程中也有一些比较 Tricky 的地方需要注意,下面就在 WPF Application 中嵌入 Flash 控件的步骤进行简要说明,并将遇到的一些需要注意的问题进行提示。
开发环境
Visual Studio 2008 Beta1 (Code name: Orcas), Windows Vista, Flash Player 9,
方法
1. 建立 WPF Application。
首先,建立一个名为 FlashinWPF 的 WPF Application
2. 设置 Window 属性。
在 XAML 中修改 Window 的属性,加入 Loaded 事件,设置默认 Grid 的 x:Name 标示为 "FlashGrid" 更改后代码如下:
<Window x:Class="FlashinWPF.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Flash in WPF" Loaded="WindowLoaded" Height="500" Width="600">
<Grid x:Name="FlashGrid">
</Grid>
</Window>
3. 建立 Windows Forms Control Library
WPF Application 作为一个展现层的项目,不能自身插入 COM Component,所以需要借助 Windows Form 引入 ActiveX 控件。
4. 插入 Shockwave Flash Object
在 Toolbox 中点击右键,选择"Choose Items..." 添加 COM Components
Tricky Point: 在 COM Component中还有一个 Macromedia Flash Factory Object 同样链接到C:\Windows\System32\Macromed\Flash\Flash9c.ocx 中,但在这里不要选择这个 Component, 否则会出现“Failed to import the ActiveX control” 可以利用 regsvr32.exe Flash9c.ocx 在命令行中注册 Flash9c.ocx 控件。会出现如下注册成功提示:
5. 创建 Flash Object
添加一个 Shockwave Flash Object 后会自动在 Flash Control 的项目中增加一个名为AxShockwaveFlashObjects 的对象。
在 UserControl1.Designer.cs 中会默认添加 axShockwaveFlash1 对象。
private AxShockwaveFlashObjects.AxShockwaveFlash axShockwaveFlash1;
6. 编译 Flash Control
7. 在 FlashinWPF 中增加 Reference
相关文档:
第一步
1、新建flash文档
2、文件--导入--导入到库,导入5张图片
3、在图层一第1帧,从库里拉入一张图片到舞台,调整到适当大小,右键转换为元件---元件类型选影片剪辑,名称为pic1;
在图层一第30帧插入空白关键帧,从库里拉入第二张图片到舞台,调整到适当大小,右键转换为元件---元件类型选影片剪辑,名称为pic2;
......
通常,使用Flash来调用.NET组件需用远程调用,实际上我们也可以通过SOCKET直接通信。
具体采用Flash的AMF3或AFM0格式,采用流行的FluorineFx服务器组件,具体代码如下:
依照此用法可以开发网页游戏或其它Flash应用的.NET SOCKET服务器。
using System;
using System.Collections.Generic;
using System.Collections.S ......
<embed id="focus_flash" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://image2.sina.com.cn/bj/zonghe/pixviewer.swf" width="180" height="200" type="application/x-shockwave-flash" wmode="opaque" bgcolor="#FDD248" flashvars="pics=http://static8.photo.sina.com.cn/orignal/4569dfb ......
=============================================================
标题:存储管理器与FLASH盘符
摘要:
备注: Windows CE 5.0
日期:2010.4.29
姓名:朱铭雷
=============================================================
今天利用PB5.0新构建了一个基于Mobile Hand ......