WPF/E CTP Quick Start - 第一部分:创建一个WPF/E项目(翻译)

简介:
在您开始之前……
  在您创建WPF/E的内容之前,您必须具有以下条件:
 
第一步:建立一个aghost.js文件
  aghost.js文件是一个JavaScript辅助文件,用来使您的WPF/E内容生效,使之能在多哥平台下查看。
  • aghost.js文件复制到您的HTML文件所在的目录下:右键点击aghost.js文件的超级链接并选择“目标另存为...”,将aghost.js文件存放在与您的HTML文件相同的目录下。
  • 打开您的HTML文件,将下面的代码添加到页面的部分。如果您没有可以使用的HTML文件,请右键点击SampleHTMLPage.html文件的超级链接并选择“目标另存为...”,将SampleHTMLPage.html复制到与ashost.js文件相同的目录下。
    <script type="text/javascript" src="aghost.js"></script>
  现在您的HTML页面应该已经保存了如下这些基本元素:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>A Sample HTML page</title>
<script type="text/javascript" src="aghost.js"></script>
</head>
<body>
</body>
</html>
 
第二步:在您的HTML文件中创建一个ActiveX控件
  为了显示WPF/E的内容,您需要在HTML文件内创建一个ActiveX控件。
  • 在您的HTML文件的<body>标签之间添加如下三行代码,以创建一个用于放置WPF/E内容的元素。
    <!-- WPF/E ActiveX控件会放置在下方元素中 -->
    <div id="agControl1Host">
    </div>
    您能够改变<div>标签的ID,不过您也必须在下一步中修改创建一个agHost时所用的第一个参数。
  • 在上一步之后,添加如下的HTML和脚本代码以创建一个ActiveX控件。
    <script language="javascript">
    // 创建一个WPF/E的ActiveX控件,这里的
    // 方法使您的WPF/E的内容在这个ActiveX控件
    // 被点击之前就创建完毕。
    new agHost(
    // 用于插入WPF/E ActiveX控件的元素,一般会使用
    // DIV元素,如果您在上一步改变了HTML元素的ID,
    // 您在这里也必须相应的改变。
    "agControl1Host",
    // WPF/E ActiveX控件的ID
    "agControl1",
    // 控件宽度
    "300px",
    // 控件高度
    "300px",
    // 控件的背景色
    "#D6D6D6",
    // 源元素(存放XAML内容的Script标签)
    null,
    // 存放WPF/E内容的XAML文件的URI
    "myxaml.xaml",
    // 是否是无窗的
    "false",
    // 最大帧率(Frame Rate)
    "30",
    // 处理错误的Handler,
    // 您能够将其设为一个方法的引用。
    null
    );

    // 创建一个全局的WPF/E ActiveX控件的引用,
    // 您能够使用它来接受已经命名的XAML元素。
    var agControl = document.getElementById("agControl1");
    </script>
    上面的脚本包含了几个您可以自定义的参数,例如ActiveX控件的高度和宽度(您可以使用百分比作为参数),包含WPF/E内容的XAML文件的文件名,和一个表示控件是否无窗的参数。
 
第三步:创建一个表示WPF/E内容的文件
  现在您的HTML文件已经配置完毕了,是时候该创建内容了。
  • 在您HTML文件所在目录里创建一个空文件,命名为“myxaml.xaml”。如果您改变了上一步所使用的文件名参数,那么在这里也需要相应地进行改变。
  • (可选)如果您的WPF/E工程需要包含脚本,创建一个包含脚本的JavaScript文件,并将下面一行代码添加到您的HTML文件中,添加您在第一步创建的<script></script>标签之后。
    <script type="text/javascript" src="my-script.js"></script>
 
添加额外的WPF/E内容
  如果您需要在页面上创建其它的WPF/E ActiveX控件,请重复第二步和第三步,并保证每一个ActiveX控件都有唯一的名字。
 
一个示例工程
  如果您遇到了困难,或者仅仅是想知道一个简单的WPF/E工程是怎么样的,请将以下这些文件复制到您的机器中,并且打开SampleProject.html文件。
 
下面该做什么呢?
  在下一部分“ 创建一个XAML文件”中,我们将学习应该如何为您的XAML文件添加内容。


本文转自 jeffz 51CTO博客,原文链接:http://blog.51cto.com/jeffz/60437,如需转载请自行联系原作者
相关文章
|
20天前
|
设计模式 前端开发 C#
WPF 项目中 MVVM模式 的简单例子说明
本文通过WPF项目中的加法操作示例,讲解了MVVM模式的结构和实现方法,包括数据模型、视图、视图模型的创建和数据绑定,以及命令的实现和事件通知机制。
|
2月前
|
持续交付 C# 敏捷开发
“敏捷之道:揭秘WPF项目中的快速迭代与持续交付——从需求管理到自动化测试,打造高效开发流程的全方位指南”
【8月更文挑战第31天】敏捷开发是一种注重快速迭代和持续交付的软件开发方法,通过短周期开发提高产品质量并快速响应变化。本文通过问题解答形式,探讨在Windows Presentation Foundation(WPF)项目中应用敏捷开发的最佳实践,涵盖需求管理、版本控制、自动化测试及持续集成等方面,并通过具体示例代码展示其实施过程,帮助团队提升代码质量和开发效率。
59 0
|
2月前
|
C# 开发者 Windows
勇敢迈出第一步:手把手教你如何在WPF开源项目中贡献你的第一行代码,从选择项目到提交PR的全过程解析与实战技巧分享
【8月更文挑战第31天】本文指导您如何在Windows Presentation Foundation(WPF)相关的开源项目中贡献代码。无论您是初学者还是有经验的开发者,参与这类项目都能加深对WPF框架的理解并拓展职业履历。文章推荐了一些适合入门的项目如MvvmLight和MahApps.Metro,并详细介绍了从选择项目、设置开发环境到提交代码的全过程。通过具体示例,如添加按钮点击事件处理程序,帮助您迈出第一步。此外,还强调了提交Pull Request时保持专业沟通的重要性。参与开源不仅能提升技能,还能促进社区交流。
36 0
|
2月前
|
C# Windows 开发者
超越选择焦虑:深入解析WinForms、WPF与UWP——谁才是打造顶级.NET桌面应用的终极利器?从开发效率到视觉享受,全面解读三大框架优劣,助你精准匹配项目需求,构建完美桌面应用生态系统
【8月更文挑战第31天】.NET框架为开发者提供了多种桌面应用开发选项,包括WinForms、WPF和UWP。WinForms简单易用,适合快速开发基本应用;WPF提供强大的UI设计工具和丰富的视觉体验,支持XAML,易于实现复杂布局;UWP专为Windows 10设计,支持多设备,充分利用现代硬件特性。本文通过示例代码详细介绍这三种框架的特点,帮助读者根据项目需求做出明智选择。以下是各框架的简单示例代码,便于理解其基本用法。
81 0
|
XML 存储 数据可视化
能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork
在现代软件开发中,数据可视化和可交互性越来越受到关注。为了实现这一点,通常需要使用各种图表、表格、网络拓扑图等控件。NodeNetwork就是一种这样的自定义方式,它是一个基于C# WPF的开源项目,可以帮助我们快速构建和定制网络拓扑图。
能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork
WPF项目获取代码行数
WPF项目获取代码行数
WPF项目获取代码行数
WPF项目中不支持 ResizingPanel,未在类型“ResizingPanel”中找到可附加的属性“ResizeWidth”
WPF项目中不支持 ResizingPanel,未在类型“ResizingPanel”中找到可附加的属性“ResizeWidth”
|
C#
WPF 添加 Resources Dictionary 资源 一般类库项目中无法添加资源文件(ResourceDictionary)
原文:WPF 添加 Resources Dictionary 资源 一般类库项目中无法添加资源文件(ResourceDictionary) 在文件夹或者项目右键-> Add(添加),会弹出可以快捷添加的资源,但是你会发现没有 ResourceDictionary资源可以选择。
3974 0
|
关系型数据库 MySQL 数据库连接
C#连接Mysql数据库,我的第一个wpf项目记录
C#连接Mysql数据库,我的第一个wpf项目记录
C#连接Mysql数据库,我的第一个wpf项目记录
|
前端开发 C# 数据安全/隐私保护
C# WPF MVVM QQ密码管家项目(8,完结篇:自动输入QQ号、密码)
原文:C# WPF MVVM QQ密码管家项目(8,完结篇:自动输入QQ号、密码) 目录: 1,界面设计 2,数据模型的建立与数据绑定 3,添加QQ数据 4,修改QQ数据 5,删除QQ数据 6,密码选择输入界面数据绑定 7,对QQ登录界面的自动输入思路分析 8,完结篇:自动输入QQ号、密码   接上篇,获取QQ登录界面句柄、窗口位置、鼠标/键盘操作等都需要用到win32api win32api是windows系统预留的接口,通过接口我们可以实现对系统更加深度地操作。
1685 0