WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase
简介(Introduction)
想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。
BindableCollection<T>
是 ObservableCollection<T>
的一个子类。如果你在你的 ViewModel
中有一个集合,并且想要将它用作你视图中的某个控件的
ItemsSource
等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。
ViewManager 是 Stylet 的核心组件之一,负责获取 ViewModel,并为其定位正确的视图。然后实例化该视图,并将其绑定到 ViewModel。
本文将告诉您这个过程是如何工作的,以及如何修改它。
有时候,查看 Stylet 在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。
值得庆幸的是,Stylet 可以很容易地配置来生成日志输出,因此您可以了解它在做什么。
可能容易实现
INotifyPropertyChanged,但通常是有点痛苦,想象一个对象需要propertychange
通知:你需要注册一个事件处理程序,检查属性名是否是你所期望的,完成后又需要注销事件处理程序。
这是一个很常见的问题,Stylet提供了一些方法来简化工作。
“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 Expression Blend 中时,显示的是 XAML 的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 ViewModel 的一些虚拟值。
Stylet 对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 XAML 特性来增强设计时体验的说明。
StyletIoC 是一个非常轻量和非常快的 IoC 容器。它被设计来只做很少的事情,但做得很好,且直观。
你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions 完全可以解决这种问题。