Silverlight开发工具的出现,突破了开发人员在处理多媒体等相关应用方面的局限性。那么在这里我们将会了解到一些有关Silverlight路由事件的相关概念。在Silverlight中,提供了Silverlight路由事件。#t#
使得我们可以在父节点上接收和处理来自于子节点的事件,Silverlight中的路由事件采用了冒泡路由策略。在鼠标事件中MouseLeftButtonDown 、MouseLeftButtonUp 、MouseMove三个事件都支持路由事件,而MouseEnter、MouseLeave两个事件不支持。
下面的Silverlight路由事件的XAML中我们为Canvas对象声明了一个MouseLeftButtonDown事件:
- < Canvas x:Name="ParentCanvas"
Background="#46461F" - MouseLeftButtonDown="ParentCanvas_
MouseLeftButtonDown"> - < 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>
添加MouseLeftButtonDown事件处理程序,显示当前鼠标按下时的坐标,并显示源控件名称:
- private void ParentCanvas_
MouseLeftButtonDown(object
sender, MouseButtonEventArgs e)- {
- String msg = "x:y = " + e.
GetPosition(sender as Framework
Element).ToString();- msg += " from " + (e.Source as
FrameworkElement).Name;- Status.Text = msg;
- }
以上就是我们为大家介绍的有关Silverlight路由事件相关概念。