如果正在從頭設計自定義控件并真的需要提供指令支援,可以參考這篇文章。支援Command的步驟比較簡單,是以這篇文章比較簡短。
要實作Command支援,控件中要執行如下步驟:
定義Command和CommandParameter屬性。
監視Command的CanExecuteChanged事件。
在CanExecuteChanged的事件處理函數及CommandParameter的PropertyChangedCallback中,根據Command.CanExecute(CommandParameter)的結果設定控件的IsEnabled屬性。
在某個事件(Click或者ValueChanged)中執行Command。
MenuItem是實作了Command支援的示例,重載了OnPointerPressed并且在其中執行Command:
以下是使用示例,作用是當TextBox的Text不為空時可以點選MenuItem,并且将Text作為MessageDialog的内容輸出: