Silverlight事件处理相关操作指南

开发 开发工具
Silverlight事件处理的相关概念将会在这篇文章中进行详尽的介绍。大家可以通过本文介绍内容充分解读其中的原理。

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. > 
  10. < Canvas Width="300" Height="100" 
    Canvas.Top="0" Canvas.Left="0"> 
  11. < Canvas.Background> 
  12. < SolidColorBrush Color="PaleGreen">
  13. < /SolidColorBrush> 
  14. < /Canvas.Background> 
  15. < Rectangle Canvas.Left="0" 
    Width="120" Height="40" Stroke=
    "Blue" StrokeThickness="3"> 
  16. < Rectangle.Fill> 
  17. < LinearGradientBrush> 
  18. < GradientStop Color="Yellow" Offset="0.2"/> 
  19. < GradientStop Color="Orange" Offset="0.5"/> 
  20. < GradientStop Color="Red" Offset="0.8"/> 
  21. < /LinearGradientBrush> 
  22. < /Rectangle.Fill> 
  23. < /Rectangle> 
  24. < TextBlock x:Name="MyTextBlock"
     FontFamily="Arial" Cursor="Hand" 
    FontSize="30" Foreground="Blue"
     Canvas.Left="0" Canvas.Top="0" 
    Text="Button1">< /TextBlock> 
  25. < TextBlock x:Name="ShowText" 
    FontFamily="Arial" Canvas.Left="0"
     Canvas.Top="60" FontSize="30"> 
  26. < TextBlock.Foreground> 
  27. < LinearGradientBrush 
    StartPoint="0,0" EndPoint="0,1"> 
  28. < GradientStop Color="Yellow" Offset="0.3"/> 
  29. < GradientStop Color="Orange" Offset="0.5"/> 
  30. < GradientStop Color="Red" Offset="0.8"/> 
  31. < /LinearGradientBrush> 
  32. < /TextBlock.Foreground> 
  33. < /TextBlock> 
  34. < /Canvas> 
  35. < /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事件处理的相关概念就为大家介绍到这里。

责任编辑:曹凯 来源: 博客园
相关推荐

2009-12-30 10:44:38

Silverlight

2009-12-30 10:32:31

Silverlight

2009-12-30 17:29:53

Silverlight

2010-01-04 15:12:27

Silverlight

2009-12-29 17:25:36

Silverlight

2009-12-29 18:46:41

Silverlight

2010-01-04 14:49:30

Silverlight

2009-12-30 14:22:12

Silverlight

2009-12-30 14:51:47

Silverlight

2009-12-30 14:28:06

Silverlight

2009-12-31 11:35:20

Silverlight

2009-12-30 15:47:40

Silverlight

2009-12-31 10:01:05

Silverlight

2009-12-31 15:36:13

SilverLight

2009-12-31 15:36:13

SilverLight

2010-01-05 10:29:43

.NET Framew

2009-12-30 18:07:54

Silverlight

2011-08-02 17:58:09

iPhone开发 事件

2009-12-31 13:33:35

Silverlight

2009-12-30 10:54:18

Silverlight
点赞
收藏

51CTO技术栈公众号