学Silverlight 2系列(4):鼠标事件处理

本文为系列文章第四篇,学习Silverlight 2中的鼠标事件处理,支持的鼠标 事件包括MouseMove 、MouseEnter 、MouseLeave 、MouseLeftButtonDown、 MouseLeftButtonUp。

声明事件

对于鼠标事件我们可以附加到任何Silverlight对象上面,如下面的XAML声明 ,为两个圆形添加上MouseEnter和MouseLeave事件:

<Canvas Background="#46461F">
  <Ellipse Width="120" Height="120" Fill="Orange"
       Canvas.Top="60" Canvas.Left="80"
       MouseEnter="OnMouseEnter"
        MouseLeave="OnMouseLeave"/>
  
  <Ellipse Width="120" Height="120" Fill="Orange"
       Canvas.Top="60" Canvas.Left="280"
       MouseEnter="OnMouseEnter"
        MouseLeave="OnMouseLeave"/>
</Canvas>

编写事件处理程序,鼠标放上去时和鼠标移开时分别改变圆形的填充色:

void OnMouseEnter(object sender, MouseEventArgs e)
{
   Ellipse ell = sender as Ellipse;
  ell.Fill = new SolidColorBrush(Colors.Yellow);
}
void OnMouseLeave(object sender, MouseEventArgs e)
{
  Ellipse ell = sender as Ellipse;
  ell.Fill = new SolidColorBrush(Colors.Green);
}

运行后效果如下:

时间: 2024-10-25 17:12:07

学Silverlight 2系列(4):鼠标事件处理的相关文章

学Silverlight 2系列(15):数据与通信之ASMX

本文将简单介绍在Silverlight 2中如何与ASMX进行通信. 简单示例 本文的示例非常简单,其过程也跟我们在一步一步学Silverlight 2系列(14 ):数据与通信之WCF中差不多,我们仍然显示一个最新随笔的列表,最终完成 后效果如下所示: 定义一个业务实体Post. public class Post { public int Id { get; set; } public string Title { get; set; } public string Author { get

学Silverlight 2系列(13):数据与通信之WebRequest

本文将简单介绍在Silverlight 2中如何使用WebRequest进行数据的提交和获 取. 简单示例 在本文中,我们仍然使用在一步一步学Silverlight 2系列(12):数据与通 信之WebClient中用过的示例,只不过稍微做一点小的改动,使用WebRequest提 交书籍编号数据,并根据书籍号返回价格信息.最终运行的结果如下图: 编写界面布局,XAML如下: <Grid Background="#46461F"> <Grid.RowDefinition

学Silverlight 2系列(1):创建一个基本的Silverlight应用

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来 了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性 .<一步一步学Silverlight 2系列>文章带您快速进入Silverlight 2开发. 本文为系列第一篇创建一个基本的Silverlight 2应用,不能免俗,从最简单 的Hell

学Silverlight 2系列(5):实现简单的拖放功能

本文为系列文章第五篇,利用前面讲过的鼠标事件处理实现简单的拖放功能 . 准备XAML 在实现拖放功能中,分为三个步骤: 1.按下鼠标,触发MouseLeftButtonDown事件,选择要拖动的对象. 2.移动鼠标,触发MouseMove事件,移动选择的对象. 3.放开鼠标,触发MouseLeftButtonUp事件,停止捕捉事件. 做一个简单的界面,用一个按钮来显示拖放,如下XAML声明: <Canvas Background="#46461F"> <Button

学Silverlight 2系列(6):键盘事件处理

本文为系列文章第六篇,介绍Silverlight中的键盘处理事件,在 Silverlight 2中,支持KeyDown和KeyUp两个事件. 声明事件 所有的事件声明过程都是一样的,在XAML中或者是在代码中进行注册. <Canvas x:Name="LayoutRoot" Background="#46461F"> <Ellipse x:Name="ellipse" Width="120" Height=&

学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)

Silverlight中内置了对于HTML.客户端脚本等的支持,本文为如何在 Silverlight 2中与HTML DOM交互第二部分.在第一部分中主要介绍了如何访问 和修改已有的HTML DOM,我们还可以完全创建一个新的DOM元素或者移除一个已 有的DOM元素,除此之外,我们还可以为DOM元素添加事件处理. 创建DOM元素 首先我们来看如何创建一个新的DOM元素,最终的效果如下,当我们在文本框 中输入文字后,单击创建,将在上面的区域中创建一个li元素. 先来定义一下HTML页面,甚至Sil

学Silverlight 2系列(11):数据绑定

本文为系列文章第十一篇,主要介绍Silverlight 2中的数据绑定. 数据绑定模式 在Silverlight 2中,支持三种模式的数据绑定. 1.OneTime:一次绑定,在绑定创建时使用源数据更新目标,适用于只显示数 据而不进行数据的更新. 2.OneWay:单向绑定,在绑定创建时或者源数据发生变化时更新到目标,适 用于显示变化的数据. 3.TwoWay:双向绑定,在任何时候都可以同时更新源数据和目标. Jesse Liberty举的例子非常的形象,使用Silverlight开发一个在线书

学Silverlight 2系列(10):使用用户控件

本文为系列文章第10篇,主要介绍Silverlight 2中的用户控件使用. 创建用户控件 在Silverlight 2中,我们可以根据开发自定义控件或者创建用户控件,以达 到控件重用的目的,添加一个新的用户控件: 编写用户控件实现代码: <Grid x:Name="LayoutRoot" Background="White"> <Rectangle HorizontalAlignment="Stretch" VerticalA

学Silverlight 2系列(9):使用控件模板

本文为系列文章第九篇,主要介绍如何使用控件模板定制控件的观感. Silverlight提供了极其强大的功能,允许用户完全定制控件的外观. 定制控件内容 在Silverlight中,WatermarkedTextBox控件可以为用户的输入提供一段提示 信息,如果只是简单的一点文字信息,有时候未免显得单调,如果加上相应的图 片说明效果会更好,如下图所示的一个简单的用户登录界面: 这样看起来界面显的就生动多了,XAML声明如下: <Canvas Background="#46461F"