热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Silverlight专题(1)构建第一个Silverlight应用程序

概述:本系列文章的原型源自实际的项目。使用Silverlight2Beta2,底层语言使用C#。希望对大家的Silverlight2的入门有所帮助。本文

概述:

本系列文章的原型源自实际的项目。使用Silverlight 2 Beta2,底层语言使用C#。希望对大家的Silverlight 2的入门有所帮助。

 

本文为本专题的第一篇文章,为了文章的完整系统性,将做一下重复性工作,创建第一个Hello World Silverlight Demo

创建项目:

 安装完引言提到的所有工具后,启动VS2008并选择创建新项目(快捷键CTRL+SHIFT+N),选择Silverlight Tab

 将可以看到两个模板,选择Silverlight Application模板:

接下来就是添加下托管Silverlight Application的Asp.Net Web Site或者Web Application Project

我一般习惯性的选择后一项

咱们的第一个Silverlight应用程序已经创建成功,如下图所示

 

在这里我对默认设置做点修改,修改默认的名字空间如下(需要右键选择HelloWorldDemo Project,不是HelloWorldDemo Solution,并选择Properties):

保存后删除默认的Page.xaml文件,并添加一个新的Silverlight User Control,如下

 

 

并修改App.xaml以及App.xaml.cs文件的名字空间为上面设置的名字空间

接下来修改StartUp Object

还是进入设置页面,修改如下图所示:

最后修改App.xaml.cs中的默认启动的RootVisual(由于我已经将Page.xaml删除,所以现在已经没有Page这个对象了,替换成创建的HelloWorld对象)

现在你可以按CTRL+F5启动网站了,但是你将只看到一片空白,这是因为默认的加入的是一个背景为白色的Grid

需要你添加控件到Grid中来丰富页面

添加控件:

添加一个TextBlock到页面中,如下

上面我对TextBlock设置了字体大小,并将其在Grid中的位置设置为居中,另外我添加MouseLeftButtonDown事件(也就是鼠标左键按下的动作)

再次启动网站你将看到我们的第一个丰富的界面(虽然还是有点丑,但是至少有内容了)

添加MouseLeftButtonDown事件的底层控制代码如下(在HelloWorld.xaml.cs文件中):

再次重新启动网站,左键点击Hello World那块区域,上面的字将替换成Silverlight, Superb, 如下

架设Silverlight服务器:

有了好东西,大家肯定想和别人分享下

那么如何架设支持Silverlight的Web服务器呢

首先你还是按照添加经典Asp.Net网站来添加当前的Silverlight网站

(具体如何做大家应该都会,这里就不赘述了)

接下需要给当前的网站添加如下MIME Types

(这是很重要的一步,我使用的是IIS,Apache等非微软的Web服务器也能架设Silverlight)

  .xaml application/xaml+xml
  .xap application/x-Silverlight-app

如果要支持WPF和Clickonce应用程序,需要添加如下MIME Types

  .manifest application/manifest
  .application application/x-ms-application
  .xbap application/x-ms-xbap
  .deploy application/octet-stream
  .xps application/vnd.ms-xpsdocument

到这里咱们的第一步就大功搞成了

你已经可以创建Silverlight应用程序

将架设了一个可供别人访问的Silverlight Enable网站



推荐阅读
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
author-avatar
记忆的旅行者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有