原創|使用教程|編輯:龔雪|2022-03-28 10:35:38.820|閱讀 274 次
概述:本文主要介紹DevExpress MVVM架構下的View Model,歡迎下載相關控件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
View Model 是 MVVM 應用程序的一部分,負責其他兩個部分之間的交互:Model 和 View。
DevExpress MVVM 框架包含可用于創建視圖模型的基類:
MVVM 框架允許您為視圖模型生成樣板代碼,因此您不需要實現每個命令或屬性:
您可以在下表中找到這兩種技術的要求:
下表總結了運行時和編譯時生成的 View Model 之間的差異:
要將視圖綁定到視圖模型,請創建解析正確 ViewModel 類型的 MarkupExtension:
C#
public class DISource : MarkupExtension { public static Func<Type, object, string, object> Resolver { get; set; } public Type Type { get; set; } public object Key { get; set; } public string Name { get; set; } public override object ProvideValue(IServiceProvider serviceProvider) => Resolver?.Invoke(Type, Key, Name); }
在應用程序啟動時注冊解析器:
C#
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); DISource.Resolver = Resolve; } object Resolve(Type type, object key, string name) { if(type == null) return null; if(key != null) return Container.ResolveKeyed(key, type); if(name != null) return Container.ResolveNamed(name, type); return Container.Resolve(type); }
通過以下方式在 XAML 中指定 DataContext:
XAML
DataContext="{common:DISource Type=common:CollectionViewModel}"
DevExpress WPF擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據為中心的商業智能產品,都能通過DevExpress WPF控件來實現。
DevExpress技術交流群6:600715373 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網