范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

DevExpressWPF入门指南运行时生成的POCO视图模型(三)

  POCO(Plain Old CLR Objects)视图模型简化并加快了开发过程。
  POCO 视图模型允许您: 将可绑定属性定义为简单的自动实现的属性。 创建在运行时用作命令的方法。 使属性和方法实现特定于 MVVM 的接口。
  这允许您创建干净、简单、可维护和可测试的 MVVM 代码,POCO 视图模型与任何 WPF 控件完全兼容。
  您可以使用在编译时生成的视图模型在编译时为您的视图模型生成样板代码。
  DevExpress Universal Subscription官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网Services
  DevExpress MVVM框架包括Services机制,下面的代码示例演示了如何访问 Message Box 服务。
  C# using DevExpress.Mvvm.POCO; ... public class LoginViewModel { public IMessageBoxService MessageBoxService { get { return this.GetService(); } } }依赖注入
  要将视图绑定到视图模型,请创建解析正确 ViewModel 类型的 MarkupExtension:
  C# public class DISource : MarkupExtension { public static Func 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:MainViewModel}"
  要在依赖注入容器中使用 POCO 视图模型,请利用 ViewModelSource.GetPOCOType 方法注册在运行时生成的 POCO 类型:
  C# container.RegisterType(typeof(IMainViewModel), ViewModelSource.GetPOCOType(typeof(MainViewModel)));查看模型父子关系
  POCO 视图模型可以通过父子关系相互关联。 这是通过 ISupportParentViewModel 接口实现的,该接口在您使用 ViewModelSource 类创建 POCO 对象时自动实现。 通过这个接口,子视图模型可以访问在主视图模型中注册的服务。 自动 IDataErrorInfo 实现
  IDataErrorInfo 接口是 WPF 中数据验证的标准机制,您可以使用此接口为每个单独的属性或整个对象定义验证规则。 POCO 机制允许您基于定义的属性或 Fluent API 自动实现IDataErrorInfo 接口。
  要启用此功能,请为您的视图模型应用 POCOViewModel 属性并将 POCOViewModel.ImplementIDataErrorInfo 参数设置为 True。
  C# //Attribute-based approach [POCOViewModel(ImplementIDataErrorInfo = true)] public class LoginViewModel { [Required(ErrorMessage = "Please enter the user name.")] public virtual string UserName { get; set; } }  //Fluent API [POCOViewModel(ImplementIDataErrorInfo = true)] [MetadataType(typeof(LoginViewModel.Metadata))] public class LoginViewModel { public class Metadata : IMetadataProvider { void IMetadataProvider.BuildMetadata(MetadataBuilder builder) { builder.Property(x => x.UserName). Required(() => "Please enter the user name."); } } public virtual string UserName { get; set; } }
  当 ViewModelSource 生成 View Model 的后代时,它会实现 IDataErrorInfo 接口,如下所示:
  C# public class LoginViewModel : IDataErrorInfo { ... string IDataErrorInfo.Error { get { return string.Empty; } } string IDataErrorInfo.this[string columnName] { get { return IDataErrorInfoHelper.GetErrorText(this, columnName); } } }
  IDataErrorInfoHelper类允许您根据指定的DataAnnotation 属性或 Fluent API 获取错误。
  下面的代码示例演示了如何使用 POCO 机制来实现 IDataErrorInfo 接口。
  MainView.xaml                                   

我好像逐渐不再需要支付宝了手机越来越卡,总想删掉一些不常用的APP,突然发现支付宝好像没啥用了。支付宝真的是一个金融工具了,平时买个菜啥的确实在用支付宝,打开支付宝直接就可以直接点击扫一扫或者收付款,就可以为什么说人类不能急功近利的活着?用分形思维思考生命的意义大千世界,生命的形式千奇百怪,小到细菌,大到鲸鱼,都生活在我们美丽的星球上,我想用一个全新的角度去思考生命的意义是什么!分形是什么?分形源于数学当中的概念,英国的一段海岸线与整体的气候变暖加速动物迁徙促使病毒外溢蝙蝠威胁最大,可传播3200多种冠状病毒研究显示,气候变暖是病毒外溢的驱动因素之一随着地球升温,许多动物将被迫迁移到新的区域以寻找合适的栖息地,而这也意味着它们可能将携带的寄生虫和各种病毒等,传播给其他初次见面的新物种。中国机械键盘从2010到2022之十年前那些经典的机械键盘这篇本来想写凯酷,不过考虑到凯酷在中国机械键盘界的特殊地位,关于凯酷的文章我会争取找一个特殊的人帮我审一下稿,最好能丰富一下细节。那么这篇就来说说十年前那些经典的机械键盘吧。以下排美团加入直播战局本报记者李静北京报道在直播持续火热的背景下,美团也加入了战局。近日,美团上线了免费开播工具美团直播助手App。资料显示,美团直播助手App的iOS和安卓端软件著作权已经在4月12日APP自动续费扣款能否弹窗提醒长江日报讯(记者杨荣峰)不少APP为了吸引网民开通自动续费会员,通过优惠信息大面积弹窗低价吸引后高价续费等方式,让用户开通自动续费。在续费期将近时却通知得扭扭捏捏,关闭自动续费的步电池健康度撑不到iPhone14?苹果曝蓄电4秘诀3妙招不少人使用苹果(Apple)的iPhone都会遇到电池健康度下降的问题。一名网友苦恼表示,自己的iPhone12不到2年,电池健康度的最大容量已降到82,询问电池健康度几就该换了?手机充电一夜不拔,对电池有坏处吗?不知道大家每天是不是手机玩到没有电才会放下手机休息,甚至是边充电边玩手机。所以晚上休息的时候就成了让手机续航的最好时间。那如果手机充电一夜不拔,对电池会有损害吗?其实现在的智能手机俄罗斯欧盟相继传来新消息,断供美企一个都跑不了本文原创,请勿抄袭和搬运,违者必究众多美企拥有世界级的影响力,苹果英特尔高通随便一个都在各自行业内占据主导优势。但由于市场资源的扩张,让美企越加肆无忌惮,各种随大流举动一一展开,轻小米12Lite海外曝光边框改成直角关联苹果设计近期,小米一款新机小米12Lite在海外曝光,看完感觉还是很特别的。这摄像头造型大家应该比较熟悉,是小米12系列经典的大眼设计,并且有细线点缀,看上去还是有一些精致感的。不同之处在vivoX80Pro综合评测硬核玩家的至爱vivoX80系列已经发布数天,人们从最初的讨论配置,逐渐关心起实际表现。尤其是对于那些想要下单vivoX80系列的消费者来说,急需了解到产品的根本实力。所以,今天我就带大家了解下
外卖佣金4。1,商家获得了什么?美团外卖到底从商家处抽了多少佣金?这个问题现在有了官方答案。3月25日,美团(03690。HK)发布2021年第四季度及全年业绩。数据显示,美团2021全年营收为1791亿元,同比如何防止黑客攻击,保证服务器安全服务器安全防护是一个永远不会过时而且持续关注度很高的问题,香港服务器同样也时刻面临着黑客攻击的严重威胁。那么黑客攻击服务器有哪些常用的方式呢?通过哪些措施我们可以保障服务器的安全呢一线调查大家在微信接龙团购小程序买菜,要小心这些骗局近日,怎么买菜很受市民关注。但随着封控小区增多,线上需求量暴涨,外卖运力捉襟见肘,很多市民反映线上约不到配送员。在这种情况下,社区团购开始流行居民们通过群聊接龙的方式,确定购买数量2款高速电摩来了,极速104kmh,支持超级快充,续航超210公里阅读本文前,请您先点击上面的关注,可以免费订阅我们的最新内容,感谢支持日常骑行的电动车,没有脚蹬子的也叫电动摩托车,但严格意义上来说无论是性能还是强度都远达不到摩托车的标准。因此,被定向爆破的老虎环球基金一季度业绩暴跌34被科技股连累导致巨亏的不止有木头姐,还有大名鼎鼎的老虎环球基金。彭博援引一封致投资者的信称,老虎环球基金旗下的旗舰对冲基金在一季度亏损了近34,主要原因是其投资的股票表现不佳,持有华为新款大屏旗舰4月发布颠覆式设计,麒麟芯片加持畅游数码圈,分享新鲜事。大家好,这里是数码圈新鲜事。由于美国的制裁,华为智能手机业务的发展受到了一定的影响,但这并不影响新机的推出。现阶段,用户们最期待的便是华为Mate系列的迭代对话第一批在元宇宙恋爱上班买房的人近三年的疫情反复下,人们对线上生活的需求和参与频率到达了一个顶峰,元宇宙正是在这样的背景下迅速火了起来。Facebook(现名Meta)微软腾讯字节跳动等国内外互联网巨头纷纷入场。Kotlin笔记(扩展)Kotlin提供了对一个类扩展新功能的能力,而无需从类继承或使用Decorator等设计模式。这是通过称为扩展的特殊声明完成的。例如,您可以为无法修改的第三方库中的类编写新函数。可JavaLambda详解Lambda表达式是JDK8开始后的一种新语法形式。作用简化匿名内部类的代码写法简化格式(匿名内部类被重写方法的形参列表)重写方法Lambda表达式只能简化函数式接口的匿名内部类的阿里市值蒸发近3。8万亿,马云身价再减,彻底告别中国首富宝座?提起互联网企业,人们的第一反应一定是阿里巴巴,可以说阿里巴巴是我国互联网企业当之无愧的龙头老大。而提到中国的首富,大家的第一反应肯定是阿里巴巴的创始人马云。马云凭借着阿里巴巴和支付北京街头公用电话亭将化身充电站WiFi站新华社北京4月2日电(记者田晨旭)信息导览手机充电5G微基站曾一度被人们遗忘的街头公用电话亭将被赋予更多便民服务功能,这是记者2日从北京市组织召开的公共服务设施暨广告牌匾规范治理工