大家在通过对Silverlight的学习,可能会了解到有关Silverlight事件路由的一些知识。下面我们将会针对这一知识进行详细介绍,希望对大家有所帮助。#t#
在Silverlight中,提供了事件路由,使得我们可以在父节点上接收和处理来自于子节点的事件,
Silverlight事件路由采用了冒泡路由策略。
在鼠标事件中MouseLeftButtonDown 、MouseLeftButtonUp 、MouseMove三个事件都支持Silverlight事件路由,而MouseEnter、MouseLeave两个事件不支持
前台代码:
- < Canvas x:Name="ParentCanvas"
Background="#404610" Grid.Row="0"
Grid.Column="1">- < Rectangle x:Name="RecA"
Fill="Orange" Stroke="White"
StrokeThickness="2"- Canvas.Top="40" Canvas.Left="60"
- Width="160" Height="100"/>
- < Rectangle x:Name="RecB"
Fill="LightBlue" Stroke="White"
StrokeThickness="2"- Canvas.Top="40" Canvas.Left="240"
- Width="160" Height="100"/>
- < TextBlock x:Name="Status"
Foreground="White" Text="Status"- Canvas.Left="100" Canvas.Top="200"/>
- < /Canvas>
- ParentCanvas.MouseLeftButtonDown +=
new MouseButtonEventHandler
(ParentCanvas_MouseLeftButtonDown);- private void ParentCanvas_MouseLeftB
uttonDown(object sender,
MouseButtonEventArgs e)- {
- String msg = "x:y = " + e.
GetPosition(sender as Framework
Element).ToString();- msg += " from " + (e.Original
Source as FrameworkElement).Name;- Status.Text = msg;
- }
Silverlight事件路由的相关概念就为大家介绍到这里。