非常ASP.NET: 使用ASP.NET控件封装Silverlight

世界上许多 ASP.NET 开发人员都想知道如何将 SilverlightTM 整合到其应用程序中,以及整合到其应用程序的什么位置。显然,回答该问题并不是那么容易,因为可以采用的方法多种多样。您可以将整个页面作为一个 Silverlight 控件并在此页面上执行任何操作,也可以在页面上确定 Silverlight 作用到的部分,并在更能体现许多 UI 元素作用的地方集成这些 UI 元素,您更有可能采取后一种方法。

有时将后一种方法称为在页面上“添加丰富多彩的岛屿”。而有了 Silverlight,这些岛屿就可能通过可编写脚本的方法和事件与周围内容联系起来。

在本月的专栏中,我将研究用于生成封装 Silverlight 内容的自定义服务器控件的方法。将 Silverlight 内容封装到自定义 ASP.NET 控件有多个优点,正是这些优点,使其成为备受关注的技术。该技术使集成的 Silverlight 内容使用起来就像使用其他任何服务器端控件一样简单,从而极大增加了被采用的机会。在 Silverlight 控件上添加处理程序、设置属性和调用方法的过程与在其他任何控件上的处理过程完全相同。而且此方法可保持页面的简洁,不会受混乱的 Silverlight 特定的 JavaScript 所影响,从而可轻松进行维护和部署。

使用 Silverlight

在详细介绍生成自定义控件以承载 Silverlight 内容之前,应先介绍将 Silverlight 内容呈现给客户时需要些什么。因此,一开始我会介绍如何在 ASP.NET 页面上承载 XAML 文件以及在页面和呈现的 Silverlight 内容之间添加交互。在我的页面展示最终要通过控件封装的行为之后,您就会对如何将控件的各部分结合在一起更加清楚。

第一步,编写 Silverlight 呈现的 XAML 文件。我的目标是,既要使 XAML 在呈现控件时尽可能简单,不花哨,又要使其内容足以能引起读者的兴趣。因此,我选择呈现带有标题的单个球体。图 1 所示的 XAML 定义一个用作标题的 TextBlock 和一个用光线渐变画笔绘制的椭圆。此 XAML 还在 Canvas 的资源部分定义两个 Storyboard,分别绘制两个将球体变大和变小的动画,每个持续时间为两秒。最后,我想在 Silverlight 中承载此 XAML,然后当用户在呈现的球体上单击时,使用 JavaScript 处理程序设置标题文本并调用动画。

Figure 1 Sphere.xaml File

<!-- File: Sphere.xaml -->
<Canvas
  xmlns="http://schemas.microsoft.com/client/2007"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Width="300" Height="300"
  Background="White"
  >
 <Canvas.Resources>
  <Storyboard x:Name="growAnimation">
   <DoubleAnimation
    Storyboard.TargetName="ellipse"
    Storyboard.TargetProperty="(Ellipse.Width)"
    To="250" Duration="0:0:2" />
   <DoubleAnimation
    Storyboard.TargetName="ellipse"
    Storyboard.TargetProperty="(Ellipse.Height)"
    To="250" Duration="0:0:2" />
  </Storyboard>
  <Storyboard x:Name="shrinkAnimation">
   <DoubleAnimation
    Storyboard.TargetName="ellipse"
    Storyboard.TargetProperty="(Ellipse.Width)"
    To="200" Duration="0:0:2" />
   <DoubleAnimation
    Storyboard.TargetName="ellipse"
    Storyboard.TargetProperty="(Ellipse.Height)"
    To="200" Duration="0:0:2" />
  </Storyboard>
 </Canvas.Resources>
 <TextBlock x:Name="titleText" Width="200" Height="24"
    Canvas.Left="94" Text="[Title]" TextWrapping="Wrap" />
 <Ellipse Width="200" Height="200"
   x:Name="ellipse" Canvas.Left="47" Canvas.Top="41">
  <Ellipse.Fill>
   <RadialGradientBrush GradientOrigin="0.75,0.25"
     Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
    <GradientStop Color="Yellow" Offset="0" />
    <GradientStop Color="Green" Offset="1" />
   </RadialGradientBrush>
  </Ellipse.Fill>
 </Ellipse>
</Canvas>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索控件
, 页面
, 内容
, 封装
, 方法
, silverlight
, 封装服务器控件
, Silverlight;.NET
, 内容添加asp.net
动画封装
,以便于您获取更多的相关知识。

时间: 2024-09-24 00:18:55

非常ASP.NET: 使用ASP.NET控件封装Silverlight的相关文章

Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断

问题描述 Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断 xAxis: { tickmarkPlacement: ""on"" type: 'datetime' tickInterval: [<%=num %>] categories: [<%=lastModifyTime %>] } xAxis中 categories数据会被截断的问题怎么解决 解决方案 ASP.NET中通过WebService获取数

开发ASP.NET Atlas服务器端Extender控件—编写服务器端Extender &amp; Dflying近期动向

asp.net|服务器|控件 PS:承蒙各位厚爱,在博客园中安家的两个月中我学到了不少东西,认识了许多朋友,且得到了好多机会.目前我有幸翻译一本Atlas的书:Foundations of Atlas: Rapid Ajax Development with ASP.NET 2.0,估计三个月后即可于人民邮电出版社并面世.所以这段时间比较忙,Blog也不能有前一段时间那么频繁的更新了,特此表示歉意.当然,欢迎朋友们继续来讨论Atlas的相关问题,我会尽力回答. 未来的两个月内,对于Foundat

利用ASP改进文档上载控件 (转)

控件 利用ASP改进文档上载控件 随着互联网的发展,人们发布和获取信息的方式发生了根本的变化,越来越多的人开始把网络作为最重要的发布和获取信息的途径,同时,能发布并令信息共享的技术也越来越多.虽然这些技术为开发人员带来了极大的便利,但是由于种种原因,其中有些技术还存在着这样或那样的缺陷.因此,开发人员在选择和使用各种技术时,一定要认清这些技术的优点和局限性,取长补短,才能设计出功能完善的程序. 提出问题 笔者曾在建设企业内部信息网工程中开发过基于Web的文档资源共享信息网站.该网站要求上载的文档

ASP.NET:数据库绑定控件入门

asp.net|控件|数据|数据库     数据绑定控件是Web控件的一部分,但其与数据库紧密结合的,在Web应用程序中的应用十分广泛,所以尤其显得重要.在本章中,我们将详细介绍ASP.NET技术中数据绑定控件的用法.     9.1  数据库邦定控件入门     在学习上一章时候,我们接触到了DataGrid控件,在实例中我们利用DataAdapter从数据库中读取数据,存放到DataSet里,然后绑定到DataGrid控件里,由DataGrid控件显示出来.通过数据绑定控件的不同设置,可以快

在ASP.NET中使用AdRotator控件(转)

asp.net|控件 在ASP.NET中使用AdRotator控件 通过使用ASP.NET携带的AdRotator服务器控件,ASP.NET中的广告可以随时显示出来.本文中,我们将看到两个例子,它们使用这个控件在一个页面上显示广告. 使用AdRotator服务器控件有以下几个步骤: 第一步 创建一个包含着广告细节的XML文件,比如说叫art008_ads.xml,它包含以下元素: ●ImageUrl-包含将被显示图象的URL,可以是绝对路径,也可以是相对于显示广告的页面的相对路径.●Naviga

asp.net中显示DataGrid控件列序号的几种方法

asp.net|datagrid|datagrid控件|显示 asp.net中显示DataGrid控件列序号的几种方法 作者:郑佐 2004-9-10 在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值计算方式如下: (1)在后台 DataGrid.CurrentPageIndex * DataGrid.PageSize + e.Item.Item

在ASP.NET中使用用户控件

asp.net|控件 [摘要]ASP.NET中提供的用户控件,可以解决ASP中无法解决的代码重用问题,更方便了调试工作中的错误检查.本文通过用户控件实现方法讲解和一个用户控件例程的实现,进一步验证了利用用户控件解决代码重用的可行性和有效性. [关键字]代码重用.用户控件.@Register指令 ASP.NET提供了比传统ASP更好的代码分离方案.在传统的ASP中,要将用Server. Execute执行的ASP文件或事务对象组件的代码分离开,一般只能将代码分离成几个文件,然后使用"include

asp.net Google样式分页控件

  asp.net Google样式分页控件 使用方法: 引入控件 <%@ Register Assembly="TinyToolBox" Namespace="TinyMS.UI" TagPrefix="tm" %> 使用控件 页码处理事件 protected void TinyPager1_Click(object sender, TinyMS.UI.PagerEventArgs e) { his.Label1.Text = &q

ASP.Net基础学习 HTML控件简单介绍

 HTML控件是ASP.NET所提供的控件(亦称为Server控件),是在服务器端执行的组件,可以产生标准的HTML文件.一般说来,标准的HTML标签无法动态控制其属性.使用方法.接收事件,必须使用其他的程序语言来控制标签,这对于使用ASP程序设计来说很不方便,而且会使ASP程序比较杂乱.ASP.NET在这方面开发了新的技术,即将HTML标签对象化,使程序(如Visual Basic.NET.C#-)可以直接控制HTML标签,对象化后的HTML标签称之为HTML控件. HTTP控件比HTML标签