導航:首頁 > 程序命令 > 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命令與事件區別相關的資料

熱點內容
華為的伺服器現在被什麼公司收購 瀏覽:285
伺服器粘包怎麼處理 瀏覽:726
怎麼進創意工坊的伺服器 瀏覽:786
空調壓縮機加變頻器 瀏覽:968
加密貨幣有哪些可以玩 瀏覽:993
騰訊雲伺服器如何生成備案授權碼 瀏覽:950
計算機學演算法好還是人工智慧 瀏覽:500
java命令運行eclipse 瀏覽:979
u盤加密其他辦法 瀏覽:808
zm螺紋演算法 瀏覽:778
excel與數據分析pdf 瀏覽:153
特斯拉的智能演算法 瀏覽:204
單片機開發費用 瀏覽:937
軸流壓縮機原理 瀏覽:290
右鍵只顯示文件夾 瀏覽:548
壓縮皮膚哪個好用嗎 瀏覽:504
為什麼右鍵中新建文件夾沒有了 瀏覽:177
算術平均演算法教程 瀏覽:558
電視上App怎麼調亮度 瀏覽:946
優酷app怎麼點擊彈窗 瀏覽:703