2008年11月4日 星期二

WPF 的Command 是什麼?

WPF 隨手筆記

先別管Command 是什麼?

首先我們先回到傳統Windows Forms 的觀念裡, 如果你需要一個功能存檔功能, 你會怎麼設計?

一定很多人馬上舉手說, 我知道: "寫在Button 的 Click 事件", 或是有人會說 "建立一組選單, 在選單項目的事件寫上存檔的功能" ...等.

OK, 那如果同時要提供快捷鍵, 工具箱也有對應功能呢? 當然這在Windows Forms裡不難辦到.

 

相同的問題在WPF 裡要怎麼設計, 可以用相同的方式來做.

不過WPF提供了更聰明重用性更高的 Command, Command 的觀念是將這些可能用Button, Menu, ToolBar, 快捷鍵呼叫的功能統一定義在Command 裡, 以上面這個例子, 我可以設計一個叫Save 的Command, 然後呢, 如果需要用在某個Button, 或是任何控制項上以及快捷鍵, 那麼就將Command 與控制項或快捷鍵做 Binding , 這樣畫面設計上就會具有很大的彈性.

WPF為省去開發者寫一堆程式也內建了不少的Command, 例如常用的Copy, Paste, Cut...等功能. 如果沒有內建Command 再自行實作ICommand介面.

沒有留言:

張貼留言