簡體   English   中英

如何處理MVVM中的事件

[英]How to handle events in MVVM

我是MVVM的新手。 我只是學習這種模式,並希望在我的項目中使用它。 我已經理解了這種模式的工作原理,並學會了如何使用命令。 但我有問題如何處理另一個控件的事件,例如ListBox SelectionChanged事件。 ListBox沒有Command屬性

你經常不需要。 例如,您可以將ListBoxSelectedItem屬性綁定到視圖模型上的屬性:

<ListBox ItemsSource="{Binding Customers}" SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}"/>

這不僅可以讓您訪問視圖模型中的選定客戶,還可以讓您的視圖模型通過設置屬性本身來指定所選客戶。

還有其他技術可以“避免”直接處理代碼隱藏中的事件。 例如,附加行為。 但是,如果代碼只關注視圖並使代碼更簡單,則不應該害怕直接處理事件。

要向控件添加命令屬性,它必須從ICommandSource繼承。 查看這篇文章,看看它是如何完成的。

WPF應用程序框架(WAF)BookLibraray應用程序演示了如何在Model-View-ViewModel(MVVM)設計的應用程序中監聽WPF事件。 它允許用戶選擇多本書,以便他可以一次刪除所有書籍。 請參閱BookLibrary.Presentation.Views.BookView類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM