WPF快速指導11:輸入和指令
本文摘要:
1:輸入的種類;
2:指令
1:輸入的種類
可在基元素類上找到公開的主輸入 API:
UIElement 、 ContentElement FrameworkElement 和 FrameworkContentElement 。除了基元素類上的輸入 API, Keyboard 類和 Mouse 類還提供了用于處理鍵盤和滑鼠輸入的其他 API。 類上的輸入 API 的示例有 Modifiers 屬性(用于傳回目前按下的 ModifierKeys )和 IsKeyDown方法(用于确定是否按下了指定的鍵)。
下面的示例使用
GetKeyStates 方法确定 Key 是否處于按下狀态。if ((Keyboard.GetKeyStates(Key.Return) & KeyStates.Down) > 0)
{
btnNone.Background = Brushes.Red;
}
MiddleButton (用于擷取滑鼠中鍵的狀态)和
DirectlyOver(用于擷取滑鼠指針目前位于其上的元素)。
下面的示例确定滑鼠上的
LeftButton是否處于
Pressed狀态。
if (Mouse.LeftButton == MouseButtonState.Pressed)
{
UpdateSampleResults("Left Button Pressed");
}
還有一類是觸筆輸入
Stylus,在這裡不做贅述。
使用指令,輸入處理可以更多地在語義級别(而不是在裝置輸入級别)進行。指令是簡單的指令,如 Cut、Copy、Paste 或 Open。指令對于集中指令邏輯很有用。同一指令可通過
Menu、在
ToolBar上或者通過鍵盤快捷方式來通路。指令還提供了在指令不可用時禁用控件的機制。
RoutedCommand是
ICommand的 WPF 實作。執行
時,将在指令目标上引發
PreviewExecuted Executed事件,這兩個事件與其他輸入一樣,都通過元素樹進行隧道和冒泡操作。如果未設定指令目标,則具有鍵盤焦點的元素将成為指令目标。執行該指令的邏輯将附加到
CommandBinding。當
事件通路該特定指令的
時,将調用
上的
ExecutedRoutedEventHandler。此處理程式執行指令的操作。
WPF 提供了一個由
ApplicationCommands MediaCommands ComponentCommands NavigationCommands EditingCommands組成的常見指令庫,您也可以定義自己的指令庫。
WPF 中的路由指令模型可以分為四個主要概念:指令、指令源、指令目标以及指令綁定:
- 指令是要執行的操作。
- 指令源是調用指令的對象。
- 指令目标是在其上執行指令的對象。
- 指令綁定是将指令邏輯映射到指令的對象。
NET C# 入門級 | .NET C# 專業級 | .NET 架構級 | BS系統專業級 | BS系統安全 |
1.開篇及C#程式、解決方案的結構 2.源碼管理之TFS入門 3.打老鼠初級 …… 21.CMS之主要功能實作 22.程序和線程基礎 23.類型轉換 24.算法基礎 25.初級課程之剩餘知識點 | 1.消滅打老鼠遊戲中的自定義委托 2.垃圾回收 3.Dispose模式 16.異常使用指導 17.最常用的重構指導 18.Debug和IDE的進階 19.Resharper的使用 20.ILSPY的使用 | 1.Socket入門 2.打造打老鼠遊戲網絡版 3.WCF入門 10.依賴注入 11.萬物兼可測試 12.軟體名額之覆寫率計算 13.軟體名額之代碼行 14.軟體名額之圈複雜度、嵌套深度 | 1.HTML 2.WebForm原理 3.CSS必知必會 19.讓浏覽器緩存Shop 20.Asp.net的生命周期 21.Asp.net網站的釋出以及調試晉級 22.BS程式的本質 23.壓力測試我們的Shop | 1.Fiddler必知必會 2.IE開發者工具必知必會 3.跨站腳本防範 4.權限欺騙防範 5.參數越界防範 6.會話劫持防範 7.CSRF防範 8.盜鍊防範 9.靜态檔案的保護 |
将本文分享到:
QQ空間 新浪微網誌 人人網 開心網 搜狐微網誌 MSN 谷歌 更多
本文基于
Creative Commons Attribution 2.5 China Mainland License釋出,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名
http://www.cnblogs.com/luminji(包含連結)。如您有任何疑問或者授權方面的協商,請給我留言。