C# 路由命令
路由命令(routed co_and)的作用與事件相似,都是引起一些代碼開始執(zhí)行。但事件只能直接與XAML中的單個元素和代碼中的一個處理程序綁定,路由命令則更復(fù)雜。
事件和命令的關(guān)鍵差異主要在使用過程中體現(xiàn)出來。如果一段代碼響應(yīng)的是只在應(yīng)用程序中的一個位置發(fā)生的用戶操作,則應(yīng)該使用事件。例如,當(dāng)用戶單擊某個窗口中的0K按鈕以便保存并關(guān)閉該窗口時,就使用此類事件。當(dāng)代碼響應(yīng)多個位置的操作時,則應(yīng)該使用命令。例如,很多時候,既可以在菜單中選擇Save命令,也可以使用某個工具欄按鈕來保存應(yīng)用程序的內(nèi)容。這樣的需求實際上也可以使用事件處理程序來完成,但這意味著我們需要在許多地方編寫相同的代碼;而使用命令,則只需要編寫一次即可。
在創(chuàng)建命令時,還需要通過一些代碼來回答這樣一個問題:“當(dāng)前是否允許用戶使用這段代碼?”也就是說,將一個命令與某個按鈕關(guān)聯(lián)起來時,該按鈕可以詢問這個命令能否執(zhí)行,并相應(yīng)地設(shè)置其狀態(tài)。
點(diǎn)擊加載更多評論>>