WPF-命令-基礎知識

命令模型的主要元素:spa

一、命令設計

二、命令綁定:命令鏈接到相關的應用程序邏輯code

三、命令源:命令源觸發命令,對象

四、命令目標:應用程序邏輯。blog

----------------------------------------------------------------繼承

ICommand接口接口

命令模型的核心是System.Windows.Input.ICommand接口。事件

複製代碼
public interface ICommand
{  
    event EventHandler CanExecuteChanged; //當命令狀態改變時,引起該事件。
    
    bool CanExecute(object parameter); //此方法返回命令狀態,若是命令可用則返回true,不可用則返回false。
    
    void Execute(object parameter); //定義在調用此命令時要調用的方法。
}
複製代碼

該接口包含兩個方法和一個事件:文檔

void Execute(object parameter);get

bool CanExecute(object parameter);

event EventHandler CanExecuteChanged;

Execute()方法包含應用程序任務邏輯。

CanExecute()方法返回命令的狀態;若是命令可用,返回true;若是不可用,返回false。

命令狀態改變時,引起CanExecuteChanged事件。對於使用命令的任何控件,這是指示信號,表示它們應當調用CanExecute()方法檢查命令的狀態。

--------------------------------------------------------------------------------------------------------

RoutedCommand類

建立本身的命令時,不會直接實現ICommand接口;而是使用System.Windows.input.RoutedCommand類,該類自動實現了ICommand接口。RoutedCommand類是WPF中惟一實現了ICommand接口的類。全部WPF命令都是RoutedCommand類及其派生類的實例。

RouteCommand類不包含任何應用程序邏輯,只表明命令,只含有命令自己的功能,全部RoutedCommand對象的功能相同。

RouteCommand類爲事件冒泡和隧道添加了一些額外的基礎結構。

RouteCommand類私有地實現了ICommand接口,並添加了ICommand接口方法的不一樣版本。

public void Execute(object parameter, IInputElement target){}

public bool CanExecute(object parameter, IInputElement target){}

RoutedCommand類還引入三個屬性:命令名稱(Name屬性)、包含命令的類(OwnerType)以及觸發命令的按鍵或鼠標操做。

--------------------------------------------------------------------------------------------------------------------------

RoutedUICommand類

RoutedUICommand類繼承自RoutedCommand類(實際上WPF的全部預先構建的命令都是RoutedUICommand對象)。

RoutedUICommand類只增長了Text屬性,該屬性是爲了顯示命令的文本。按鈕的文本可使用命令的Text屬性,相同命令顯示相同的文本。

------------------------------------------------------------------------------------------------------------------

命令庫

WPF經過5個靜態類的靜態屬性提供:

一、ApplicationCommand:通用命令,剪切板命令(Copy、Cut、Paste),文檔命令(New、Open、Save、Save As、Print)等。

二、NavigationCommand:導航命令,基於頁面的應用程序設計的一些命令(BrowseBack、BrowseForward和NextPage)等。

三、EditingCommand:文檔編輯命令,

四、ComponentCommands:該類提供了由用戶界面組建使用的命令。

五、MediaCommands:該類提供了一組用於處理多媒體的命令。

相關文章
相關標籤/搜索