Silverlight事件路由相關(guān)概念詳解
大家在通過對Silverlight的學(xué)習(xí),可能會(huì)了解到有關(guān)Silverlight事件路由的一些知識(shí)。下面我們將會(huì)針對這一知識(shí)進(jìn)行詳細(xì)介紹,希望對大家有所幫助。#t#
在Silverlight中,提供了事件路由,使得我們可以在父節(jié)點(diǎn)上接收和處理來自于子節(jié)點(diǎn)的事件,
Silverlight事件路由采用了冒泡路由策略。
在鼠標(biāo)事件中MouseLeftButtonDown 、MouseLeftButtonUp 、MouseMove三個(gè)事件都支持Silverlight事件路由,而MouseEnter、MouseLeave兩個(gè)事件不支持
前臺(tái)代碼:
- < 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事件路由的相關(guān)概念就為大家介紹到這里。