我是WPF MVVM的新手。任何人都可以在WPF中的MVVM應用程序中清除行爲的用法?爲什麼我們應該去行爲,即使我們在WPF MVVM中有方法操作?在WPF MVVM中使用行爲?
回答
行爲是您附加到元素並指定應用程序何時響應的事物。
該行爲附加在行爲上,並定義了行爲觸發時應用程序應該執行的操作。
一目瞭然,行爲類似於一個動作:一個自包含 單元的功能。主要區別在於,調用期望爲 的動作,並且在調用時,它們將執行一些操作。 A 行爲不具有調用的概念;相反,它更多地作爲對象的插件: 可選功能,如果需要,可將其附加到對象上。它可能會對環境中的刺激做出響應 ,但不能保證用戶可以控制這種刺激是什麼:它取決於作者的行爲以決定什麼可以定製,哪些不能定製。
行爲使您可以封裝在一個可重複使用的單元中的多個相關或相關活動 加狀態。
在MVVM中,如果您的ViewModel公開方法而不是命令,您可能需要從視圖中調用方法。行爲允許這樣做。
您聲明「我們在WPF MVVM中有方法操作」,但據我所知「方法操作」不是WPF的一部分。如果您使用助手MVVM庫,它可能會提供「方法操作」,可以將方法封裝在命令中。在這種情況下,MVVM模式使用方法不需要行爲。
但請注意,行爲在MVVM之外有其他用途。
我強烈建議你閱讀這code project article是 證明
- 什麼是附加的行爲
- 什麼是它的替代品
- 它的優點相比,類似的問題的替代解決方案
的想法是,你在元素上設置附加屬性,以便可以從暴露附加屬性的類訪問元素。一旦這個類可以訪問元素,它就可以將事件掛在它上面,並且爲了響應這些事件觸發,使元素執行它通常不會做的事情。這是創建和使用子類的非常方便的選擇,並且非常適合XAML。從上述文章中
掛鉤的對象上的事件,並做一些火災時
結論是 肯定不是一個突破創新,由 的任何想象。從這個意義上講,附加行爲只是另一種方式來做同樣的事情。然而,這種技術的重要性在於它具有名稱,這可能是任何設計模式中最重要的方面。此外,您可以創建附加行爲,並將其應用於任何元素,而無需修改系統的任何其他部分。這是對Pascal Binggeli提出的問題以及許多其他問題的簡潔解決方案。這是 在您的工具箱中具有的非常有用的工具。
- 1. 在WPF MVVM使用XML
- 2. 使用MVVM在WPF中顯示圖標
- 3. 使用MVVM在WPF中打印TreeView
- 4. 在MVVM中使用specflow for WPF
- 5. 在WPF和MVVM中使用ObservableCollections
- 6. 使用MVVM在WPF中綁定命令
- 7. 使用MVVM在WPF中綁定失敗
- 8. 使用MVVM在XAML中禁用TelerikGrid中的行使用MVVM
- 9. 在MVVM在WPF
- 10. 在WPF中使用MVVM進行視圖導航
- 11. 在MVVM Light中爲WPF佈線視圖
- 12. WPF無法使用MVVM
- 13. 使用MVVM的WPF導航
- 14. 使用WPF和C的MVVM#
- 15. 使用EF CodeFirst的WPF MVVM
- 16. 在wpf中使用mvvm模式將網格劃分爲零件
- 17. XamDataGrid XamTabControl WPF MVVM奇特行爲
- 18. WPF ComboBox MVVM奇怪的行爲
- 19. 禁用WPF MVVM
- 20. 在WPF MVVM
- 21. WPF:在MVVM
- 22. MVVM WPF中使用LINQtoSQL的DAL和BLL
- 23. 使用WPF MVVM中的ICollectionView更新DataGrid
- 24. 實現MVVM在WPF不使用System.Windows.Input.ICommand
- 25. 使用IConverter應對{NewItemPlaceholder}在WPF/XAML/MVVM
- 26. 在MVVM中訪問Grid.Children.Add(WPF)
- 27. 使用MVVm綁定DataGrid使用WPF
- 28. WPF DataGrid行樣式與MVVM
- 29. WPF,MVVM datagrid行綁定
- 30. 當我使用MVVM模型時如何在WPF中使用WndProc?
我不清楚您的詳細資料Erno ..任何其他詳細的帖子或教程是否與樣本..? –
我添加到我的答案。我看不出如何更好地解釋它。你也可以閱讀:http://electricbeach.org/?p=148 –
我現在清除了..謝謝... :) –