一步一步學Silverlight :鍵盤事件處理
[1] 一步一步學Silverlight :鍵盤事件處理
[2] 一步一步學Silverlight :鍵盤事件處理
[2] 一步一步學Silverlight :鍵盤事件處理
概述
Silverlight 2 Beta 1版本發布了,無論從Runtime還是Tools都給我們帶來了很多的驚喜,如支持框架語言Visual Basic, Visual C#, IronRuby, Ironpython,對JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步學Silverlight 2系列》文章帶您快速進入Silverlight 2開發。
本文為系列文章第六篇,介紹Silverlight中的鍵盤處理事件,在Silverlight 2中,支持KeyDown和KeyUp兩個事件。
聲明事件
所有的事件聲明過程都是一樣的,在XAML中或者是在代碼中進行注冊。
<Canvas x:Name="LayoutRoot" Background="#46461F"> <Ellipse x:Name="ellipse" Width="120" Height="120" Fill="Orange" Canvas.Top="50" Canvas.Left="160" Stroke="White" StrokeThickness="2" KeyUp="ellipse_KeyUp" KeyDown="ellipse_KeyDown"/> </Canvas>
或者在代碼中注冊:
public partial class Page : UserControl { public Page() { InitializeComponent(); this.ellipse.KeyUp += new KeyEventHandler(ellipse_KeyUp); this.ellipse.KeyDown += new KeyEventHandler(ellipse_KeyDown); } private void ellipse_KeyUp(object sender, KeyEventArgs e) { } private void ellipse_KeyDown(object sender, KeyEventArgs e) { } }
使用事件參數KeyEventArgs
使用事件參數可以獲取到事件數據,可以使用的屬性有Key、PlatformKeyCode、Handled、Source。
private void ellipse_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.R) { //...... } else if(e.Key == Key.Ctrl && e.Key == Key.U) { //...... } }
在事件數據中,Handled有時候非常有用,可以用來判斷事件是否已經處理。
[第1頁][第2頁]
全站熱搜