最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# WPF編程之命令模型詳解

 更新時(shí)間:2024年04月09日 10:17:59   作者:SongYuLong的博客  
這篇文章主要為大家詳細(xì)介紹了C# WPF編程中命令模型的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下

概述

使用路由事件可以響應(yīng)廣泛的鼠標(biāo)和鍵盤(pán)事件,這些事件是低級(jí)的元素。在實(shí)際應(yīng)用程序中,功能被劃分成一些高級(jí)的任務(wù)。這些任務(wù)可通過(guò)各種不同的動(dòng)作和用戶界面元素觸發(fā),包括主菜單、上下文菜單、鍵盤(pán)快捷鍵以及工具欄。

可在WPF中定義這些任務(wù)(也就是命令)并將控件連接到命令,從而不需要重復(fù)編寫(xiě)事件處理代碼。更重要的是,當(dāng)連接的命名不可用時(shí),命令特性通過(guò)自動(dòng)禁用控件來(lái)管理用戶界面的狀態(tài)。

將事件處理程序映射到事件:

將事件映射到命令:

WPF命令的缺點(diǎn):

  • 命令跟蹤(例如,保留最近命令的歷史記錄);
  • “可撤銷的”命令;
  • 具有狀態(tài)并可處于不同“模式”的命令(例如,可被打開(kāi)或關(guān)閉的命令);

WPF命令模型

WPF命令模型有許多可變的部分組成。他們都具有如下4個(gè)重要元素:

命令: 命令表示應(yīng)用程序任務(wù),并且跟蹤任務(wù)是否能被執(zhí)行。然然,命令實(shí)際上不包含執(zhí)行應(yīng)用程序任務(wù)的代碼。

命令綁定: 每個(gè)命令綁定針對(duì)用戶界面的具體區(qū)域,將命令連接到相關(guān)的應(yīng)用程序邏輯。

命令源: 命令源觸發(fā)命令。

命令目標(biāo): 命令目標(biāo)是在其中執(zhí)行命令的元素。

ICommand接口

WPF命令模型的核心是System.Windows.Input.ICommand接口,該接口定義了命令的工作原理。該接口包含兩個(gè)方法和一個(gè)事件:

public interface ICommand
{
	void Execute(object parameter);
	bool CanExecute(object parameter);
	event EventHandler CanExecuteChanged;
}
  • Execute()方法將包含應(yīng)用程序任務(wù)邏輯(例如,打印文檔)。
  • CanExecute()方法返回命令的狀態(tài),如果命令可用,返回true,否則返回false。
  • CanExecuteChanged():當(dāng)命令狀態(tài)變化時(shí)引發(fā)該事件。

注:Execute()和CanExecute()方法都接受一個(gè)附加的參數(shù)對(duì)象。

RoutedCommand類

當(dāng)創(chuàng)建自己的命令時(shí),不會(huì)直接實(shí)現(xiàn)ICommand接口,而是使用System.Windows.Input.RoutedCommand類,該類自動(dòng)實(shí)現(xiàn)了ICommand接口。

RoutedCommand類是WPF中唯一實(shí)現(xiàn)了ICommand接口的類。

RoutedUICommand類

在程序中處理的大部分命令不是RoutedCommand對(duì)象,而是RoutedUICommand類的實(shí)例,RoutedUICommand類繼承自RoutedCommand類。

RoutedUICommand類用于具有文本的命令,這些文本顯示在用戶界面中的某些地方(如,菜單項(xiàng)文本、工具欄按鈕的工具提示)。RoutedUICommand類只增加了Text屬性,該屬性為命令顯示的文本。

為命令定義命令文本的優(yōu)點(diǎn)是可在某個(gè)位置執(zhí)行本地化。

到此這篇關(guān)于C# WPF編程之命令模型詳解的文章就介紹到這了,更多相關(guān)C# WPF命令模型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL+C#實(shí)現(xiàn)獲得當(dāng)前月的第一天與最后一天

    SQL+C#實(shí)現(xiàn)獲得當(dāng)前月的第一天與最后一天

    本文分享了SQL+C#獲得當(dāng)前月的第一天與最后一天的代碼實(shí)例,代碼簡(jiǎn)潔,適合初學(xué)者參考。需要的朋友可以看下
    2016-12-12
  • C#微信開(kāi)發(fā)(服務(wù)器配置)

    C#微信開(kāi)發(fā)(服務(wù)器配置)

    這篇文章主要介紹了C#微信開(kāi)發(fā)中有關(guān)服務(wù)器配置的相關(guān)內(nèi)容,感興趣的小伙伴們可以參考一下
    2015-11-11
  • C#基于正則表達(dá)式刪除字符串中數(shù)字或非數(shù)字的方法

    C#基于正則表達(dá)式刪除字符串中數(shù)字或非數(shù)字的方法

    這篇文章主要介紹了C#基于正則表達(dá)式刪除字符串中數(shù)字或非數(shù)字的方法,涉及C#針對(duì)數(shù)字的簡(jiǎn)單正則匹配相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • C#具名參數(shù)(Named Parameters)的使用

    C#具名參數(shù)(Named Parameters)的使用

    在C#中,具名參數(shù)是一種在方法調(diào)用中使用參數(shù)名稱來(lái)指定參數(shù)值的技術(shù),本文主要介紹了C#具名參數(shù)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 基于WPF實(shí)現(xiàn)跳動(dòng)的字符效果

    基于WPF實(shí)現(xiàn)跳動(dòng)的字符效果

    這篇文章主要和大家介紹一個(gè)好玩但實(shí)際作用可能不太大的動(dòng)畫(huà)效果:跳動(dòng)的字符,本文將利用WPF實(shí)現(xiàn)這一效果,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-08-08
  • C#屬性訪問(wèn)器Set與Get詳解

    C#屬性訪問(wèn)器Set與Get詳解

    本文總結(jié)了C#中屬性Set和Get訪問(wèn)器的核心概念,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • c#程序定期把內(nèi)存信息記錄到log日志示例

    c#程序定期把內(nèi)存信息記錄到log日志示例

    這篇文章主要介紹了c#程序定期把內(nèi)存信息記錄到log日志示例,需要的朋友可以參考下
    2014-04-04
  • C#之Socket客戶端全過(guò)程

    C#之Socket客戶端全過(guò)程

    這篇文章主要介紹了C#之Socket客戶端全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • c#中抽象類和接口的詳細(xì)介紹

    c#中抽象類和接口的詳細(xì)介紹

    這篇文章介紹了c#中抽象類和接口,有需要的朋友可以參考一下
    2013-10-10
  • C#程序中類數(shù)量對(duì)程序啟動(dòng)的影響詳解

    C#程序中類數(shù)量對(duì)程序啟動(dòng)的影響詳解

    這篇文章主要給大家介紹了關(guān)于C#程序中類數(shù)量對(duì)程序啟動(dòng)的影響的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10

最新評(píng)論

岳西县| 博罗县| 波密县| 汪清县| 卢氏县| 鹰潭市| 淄博市| 漠河县| 亳州市| 安福县| 榆林市| 天峨县| 黔江区| 芦溪县| 沽源县| 和政县| 思茅市| 阿拉尔市| 龙泉市| 绥芬河市| 财经| 巧家县| 清远市| 康平县| 洛南县| 丽江市| 阿拉善右旗| 炎陵县| 玉田县| 库尔勒市| 方城县| 安多县| 茌平县| 科技| 凤冈县| 绥中县| 监利县| 乌恰县| 宝应县| 墨竹工卡县| 抚顺市|