Silverlight事件处理相关操作指南
创始人
2024-06-19 02:00:44
0

Silverlight事件处理是一个初学者们最为重要的一个学习过程。对于这方面的知识点。我们将会在文章中给出正确的介绍,希望对于刚刚学习者款工具的朋友有所帮助,提高自己的开发效率。#t#

对于Silverlight DOM对象的事件处理比较简单,首先在对应的XAML文件中为事件源对象和目标对象声明x:Name属性,然后在XAML的代码后置类中通过使用该属性的值就可对该对象进行完全控制,当然需要为事件源对象附加一个对应的事件。

对于由HTML元素触发的事件要相对复杂一些,首先需在XAML的代码后置类中通过HtmlPage.Document.GetElementByID("ElementID")获取该元素对象,然后为该对象附加一个事件,再在对应的事件处理方法中就可进行事件的处理。

Silverlight事件处理演示代码如下:

XAML文件源代码:

  1. < Canvas x:Name="parentCanvas" 
  2. xmlns="http://schemas.microsoft.com
    /client/2007"   
  3. xmlns:x="http://schemas.microsoft.
    com/winfx/2006/xaml"   
  4. Loaded="Page_Loaded"   
  5. x:Class="SilverlightStudy.Page;assembly
    =ClientBin/SilverlightStudy.dll" 
  6. Width="300" 
  7. Height="100" 
  8. Background="White" 
  9. < Canvas Width="300" Height="100" 
    Canvas.Top="0" Canvas.Left="0"> 
  10. < Canvas.Background> 
  11. < SolidColorBrush Color="PaleGreen">
  12. < /SolidColorBrush> 
  13. < /Canvas.Background> 
  14. < Rectangle Canvas.Left="0" 
    Width="120" Height="40" Stroke=
    "Blue" StrokeThickness="3"> 
  15. < Rectangle.Fill> 
  16. < LinearGradientBrush> 
  17. < GradientStop Color="Yellow" Offset="0.2"/> 
  18. < GradientStop Color="Orange" Offset="0.5"/> 
  19. < GradientStop Color="Red" Offset="0.8"/> 
  20. < /LinearGradientBrush> 
  21. < /Rectangle.Fill> 
  22. < /Rectangle> 
  23. < TextBlock x:Name="MyTextBlock"
     FontFamily="Arial" Cursor="Hand" 
    FontSize="30" Foreground="Blue"
     Canvas.Left="0" Canvas.Top="0" 
    Text="Button1">< /TextBlock> 
  24. < TextBlock x:Name="ShowText" 
    FontFamily="Arial" Canvas.Left="0"
     Canvas.Top="60" FontSize="30"> 
  25. < TextBlock.Foreground> 
  26. < LinearGradientBrush 
    StartPoint="0,0" EndPoint="0,1"> 
  27. < GradientStop Color="Yellow" Offset="0.3"/> 
  28. < GradientStop Color="Orange" Offset="0.5"/> 
  29. < GradientStop Color="Red" Offset="0.8"/> 
  30. < /LinearGradientBrush> 
  31. < /TextBlock.Foreground> 
  32. < /TextBlock> 
  33. < /Canvas> 
  34. < /Canvas>  

Silverlight事件处理之XAML.CS文件源代码:

  1. using System;  
  2. using System.Windows;  
  3. using System.Windows.Controls;  
  4. using System.Windows.Documents;  
  5. using System.Windows.Ink;  
  6. using System.Windows.Input;  
  7. using System.Windows.Media;  
  8. using System.Windows.Media.Animation;  
  9. using System.Windows.Shapes;  
  10. using System.Windows.Browser;  
  11. namespace SilverlightStudy  
  12. {  
  13. public partial class Page : Canvas  
  14. {  
  15. private HtmlDocument document;  
  16. public void Page_Loaded(object o, EventArgs e)  
  17. {  
  18. // Required to initialize variables  
  19. InitializeComponent();  
  20. document = HtmlPage.Document;  
  21. HtmlElement MyButton = document.
    GetElementByID("MyButton");  
  22. bool ec1 = MyButton.AttachEvent(
    "onclick", new EventHandler(this
    .OnMyButtonClicked));  
  23. MyTextBlock.MouseLeftButtonDown+=new
     MouseEventHandler(MyTextBlock_
    MouseLeftButtonDown);  
  24. }  
  25. void MyTextBlock_MouseLeftButtonDow
    n(object sender, MouseEventArgs e)  
  26. {  
  27. //throw new NotImplementedException();  
  28. ShowText.Text = "This is Button1";  
  29. }  
  30. private void OnMyButtonClicke
    d(object sender, EventArgs e)  
  31. {  
  32. ShowText.Text = "This is Button2";  
  33. }  
  34. }  

Silverlight事件处理的相关概念就为大家介绍到这里。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...