qouoww

质量管理+软件开发=聚焦管理软件的开发与应用

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

01 2022 档案

摘要:简介 StyletIoC轻量级的极快速的IoC容器。 服务和构建 StyletIoC是围绕服务的概念构建的。服务是具体类型、抽象类型或接口,由具体类型实现,例如: interface IVehicle { ... } class HotHatchback : IVehicle { ... } 这里I 阅读全文
posted @ 2022-01-15 08:26 qouoww 阅读(1165) 评论(0) 推荐(0) 编辑

摘要:介绍 想象一下场景...用户正在填写您精心编写的表单,并在应该输入电子邮件地址的位置输入他们的姓名。您需要检测到这一点,并以清晰的方式显示问题。 输入验证是一个很大的领域,有很多方法可以做到这一点。最简单、最吸引人的是在你的属性的 setter 中抛出一个异常,如下所示: private strin 阅读全文
posted @ 2022-01-13 16:47 qouoww 阅读(559) 评论(0) 推荐(0) 编辑

摘要:概述 BindableCollection是ObservableCollection的子类。如果您在 ViewModel 中有一个某些内容的集合,并且希望将其用作视图中某些内容的 ItemsSource/ etc(并且每当将项目添加到该集合中/从该集合中删除时,都会通知视图),则它是要使用的类。 但 阅读全文
posted @ 2022-01-13 16:16 qouoww 阅读(575) 评论(0) 推荐(0) 编辑

摘要:ViewModel生命周期 一个好的起点是查看 ViewModel 生命周期。 想象一个选项卡式界面 - 类似于Visual Studio,它有一个shell(包含菜单,工具栏等)和一个包含编辑器选项卡的TabControl。在 Stylet 中,每个编辑器选项卡都将由其自己的 ViewModel 阅读全文
posted @ 2022-01-13 16:03 qouoww 阅读(1050) 评论(0) 推荐(2) 编辑

摘要:概述 Execute是一个小的静态帮助程序,这使得调度要在 UI 线程上运行的委托变得更加容易。它封装了Application.Current.Dispatcher,并提供方法使它更容易和更简洁地使用。 它还提供了一个帮助程序属性 Execute.InDesignMode。当且仅当 Visual S 阅读全文
posted @ 2022-01-13 14:33 qouoww 阅读(526) 评论(0) 推荐(1) 编辑

摘要:ropertyChangedBase 是实现 INotifyPropertyChanged 的类型的基类,它提供了用于引发 PropertyChanged 通知的方法。 引发通知 有多种方法可以引发 PropertyChanged 通知,具体取决于您要执行的操作。 最常见的情况是让属性在每次分配到时 阅读全文
posted @ 2022-01-13 14:21 qouoww 阅读(819) 评论(0) 推荐(0) 编辑

摘要:EventAggregator 是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 发布者和订阅者 订阅者 对特定事件感兴趣的订阅者可以告诉 IEventAggregator 他们的兴趣,并且每当发布者将该特定事件发布到 IEventAggregator 时,都会收到通知。 事件是类 - 用它们做 阅读全文
posted @ 2022-01-13 13:50 qouoww 阅读(856) 评论(0) 推荐(0) 编辑

摘要:为方便测试,Stylet实现了MessageBox的克隆版本,几乎与WPF原生的一样。 使用 要使用MessageBox,只需要在IWindowManager中调用ShowMessageBox方法: public MyViewModel { private readonly IWindowManag 阅读全文
posted @ 2022-01-13 13:10 qouoww 阅读(706) 评论(0) 推荐(1) 编辑

摘要:在传统的View-frist方式中,如果想要显示了一个新的Window或Dialog,需要创建一个View的实例,并且调用.Show()或.ShowDialog()方法。 在ViewModel-first方式中,不能直接与Views交互,WindowManager解决了这个问题,只需要调用IWind 阅读全文
posted @ 2022-01-13 11:57 qouoww 阅读(801) 评论(0) 推荐(0) 编辑

摘要:有一个按钮,想要单击并执行一个ViewModel的方法?Action可以解决这个问题。 Actions与方法 在传统的WPF中,你需要在ViewModel中创建一个属性并实现ICommand接口,然后将此属性绑定到按钮的Command属性上,这可以工作(不需要ViewModel与View的紧密联系, 阅读全文
posted @ 2022-01-13 09:26 qouoww 阅读(1187) 评论(0) 推荐(0) 编辑

摘要:ViewModel-first方法对Stylet的架构至关重要,但如果你以传统的View-first方式学习MVVM,那么这种方法就不直观了。 希望本文能把一切都说清楚。 视图优先方法 让我们从定义视图优先方法开始。MVVM 声明 ViewModel 应该对 View 一无所知,反过来说View应该 阅读全文
posted @ 2022-01-10 21:40 qouoww 阅读(1127) 评论(0) 推荐(0) 编辑

摘要:Bootstrapper负责引导应用程序,用于配置 IoC 容器,创建根 ViewModel 的新实例,并使用显示WindowManager出来。它还提供了各种其他功能,如下所述。 引导程序有两种风格:BootstrapperBase,它要求您自己配置 IoC 容器,以及Bootstrapper,这 阅读全文
posted @ 2022-01-10 21:09 qouoww 阅读(1322) 评论(0) 推荐(0) 编辑

摘要:想要尽快启动和运行吗?跟着作者马上行动! 注意:如果您要查找示例应用程序,请下载源代码并查看"示例"文件夹。 以下说明将设置一个最小骨架项目。 自动选项 .NET Framework 注意:如果项目对 NuGet 包使用包引用,或者使用的是 VS2013 或更早版本,则此操作将不起作用。请改为按照下 阅读全文
posted @ 2022-01-10 19:23 qouoww 阅读(1222) 评论(0) 推荐(0) 编辑

摘要:很久(算起来快10年了吧!)都没有在博客园更新内容了,近期在寻找MVVM框架时发现了这个:Antony Male开发的Stylet, 用起来感觉很好,不敢独享,将其有关资料翻译过来,大家共同学习。 Stylet的开源地址在这里:https://github1s.com/canton7/Stylet/ 阅读全文
posted @ 2022-01-10 08:26 qouoww 阅读(1502) 评论(1) 推荐(0) 编辑