導航:首頁 > 程序命令 > wpf命令與事件區別

wpf命令與事件區別

發布時間:2023-06-06 23:21:06

1. VS菜鳥請教WPF編程中按鈕事件的問題:Click和Click_1

出現 XXX_Click_1 的原因:
在設計器上點擊按鈕自動生成了 XXX_Click 函數,因某個操作 (刪除控制項後再次添加) 導致 XAML 中 Click="XXX_Click" 代碼丟失,然後再次點擊按鈕而自動生成的。

解決辦法很簡單,在 XAML 代碼編輯器中找到 XXX 然後將 Click="XXX_Click_1" 改成 "XXX_Click" 就可以了。也就是說,可以先定義事件處理函數,然後再為一個或多個控制項指定。

RoutedEventArgs 和 EventArgs 不能隨意替換。

Route 的意思就是路由,在 WPF 中引入了事件路由這一概念,舉個例子比較好理解一點:

窗口中有一系列的控制項 Grid\StackPanel\Button 等,

在 WinForm 中:當 Button 的 MouseMove 事件被觸發時,其父級控制項 (StackPanel、Grid、Form) 是不會觸發 MouseMove 事件的。

WPF 中:會因路由概念的引入,導致 Button 的所有父級控制項觸發 MouseMove 事件,當然,前提是在代碼中指定了事件函數。

所以,我們需要 RoutedEventArgs 這個參數,從 e.Source、e.OriginalSource 來確定該事件是由哪個子控制項觸發的。由於 WPF 控制項是由 ControlTemplate 定義的,所以,單個控制項也會需要事件路由來確定,該控制項的模板中哪個元素引發了事件,從而精確處理控制項事件。

2. 什麼時候使用事件和命令為WPF / MVVM

利用View里的IsEnable屬性。 原理是這樣的: 1、UI中的IsEnabled綁定VM中的屬性 2、UI的後台代碼中,注冊IsEnableChange事件,在這個事件里,檢測到傳過來的值滿足某個條件,即可觸發Close()命令

3. wpf命令的好處,直接用方法不行嗎搞的跟dos一樣,感覺很奇特

wpf的命令用於那種需要主動詢問的情況。比如,用戶輸入賬戶密碼後登錄按鈕處於可用狀態。傳統的方式得用textChange事件來做。命令則不需要,命令讓textbox主動發送狀態來控制登錄按鈕的狀態。是一種狀態直接到狀態的方式。

說到底,WPF的命令給了你除了方法以外的多的一個選擇。

閱讀全文

與wpf命令與事件區別相關的資料

熱點內容
vc編程規范 瀏覽:999
安卓手機軟體加密app中文 瀏覽:123
螺紋零件加工編程 瀏覽:322
sns開源java 瀏覽:411
超級計算機與演算法 瀏覽:585
解壓縮app能夠縮小多少 瀏覽:879
有證件照的是哪個app 瀏覽:404
dayz如何確定和隊友在一個伺服器 瀏覽:608
java定義枚舉類型 瀏覽:93
手機裡面沒有應用鎖怎麼加密應用 瀏覽:445
電氣與可編程式控制制器原理及應用 瀏覽:547
php512 瀏覽:568
手機文件夾應用推薦怎麼關 瀏覽:606
伺服器為什麼要分業務口和管理口 瀏覽:682
楊輝三角java演算法 瀏覽:56
cmd編譯錯誤找不到符號 瀏覽:695
linuxip機器名 瀏覽:489
伺服器喇叭和頻道喇叭有什麼區別 瀏覽:32
閑魚排名演算法如何計算 瀏覽:976
linuxtargz解壓命令 瀏覽:742