ModelService 类
提供设计器用来获取编辑模型的主入口点。
继承层次结构
System.Object
Microsoft.Windows.Design.Services.ModelService
命名空间: Microsoft.Windows.Design.Services
程序集: Microsoft.Windows.Design.Interaction(在 Microsoft.Windows.Design.Interaction.dll 中)
语法
声明
Public MustInherit Class ModelService
public abstract class ModelService
public ref class ModelService abstract
[<AbstractClass>]
type ModelService = class end
public abstract class ModelService
ModelService 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
ModelService | 初始化 ModelService 类的新实例。 |
页首
属性
名称 | 说明 | |
---|---|---|
Root | 在派生类中重写时,获取对象层次结构的根。 |
页首
方法
名称 | 说明 | |
---|---|---|
ConvertItem | 将在另一个设计器中创建的 ModelItem 转换为在此设计器使用的 ModelItem。 | |
CreateItem(Object) | 在派生类中重写时,创建一个属于指定实例的深层副本的模型项。 | |
CreateItem(Type, CreateOptions, array<Object[]) | 在派生类中重写时,为指定的类型创建 ModelItem 对象。 | |
CreateStaticMemberItem | 在派生类中重写时,创建一个表示指定类的静态成员的值的新模型项。 | |
Equals | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) | |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) | |
Find(ModelItem, TypeIdentifier) | 在派生类中重写时,为指定的起点查找匹配的模型项。 | |
Find(ModelItem, Predicate<Type>) | 在派生类中重写时,为指定的起点查找匹配的模型项。 | |
Find(ModelItem, Type) | 在派生类中重写时,为指定的起点查找匹配的模型项。 | |
FromName(ModelItem, String) | 使用指定的名称在指定范围内查找模型项。 | |
FromName(ModelItem, String, StringComparison) | 在派生类中重写时,使用指定的名称和比较条件在指定范围内查找模型项。 | |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) | |
ResolveType | 将指定的 Type 解析为 TypeIdentifier。 | |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
页首
事件
名称 | 说明 | |
---|---|---|
ModelChanged | 在派生类中重写时,当模型中的某个项已更改时发生。 |
页首
备注
ModelService 类为编辑模型和全局事件通知提供入口点。 ModelService 由序列化引擎提供,并用于获取对模型的访问。
除了 ModelService,设计器必须将可视对象映射至基础模型项。 可视化项和模型项之间的 1:1 映射不是必需的,但是必须存在可视化项和模型项之间的关联。 ViewService 类满足此角色。
设计器需要 ModelService 和 ViewService 类才能发挥作用。 DesignerView 类负责处理用户输入并将用户输入传送给命令,该类需要这两种服务才能将用户输入映射回模型。
可以通过任何代码调用 ModelService 的公共方法。 由编辑模型调用受保护的方法。
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
请参见
参考
Microsoft.Windows.Design.Services 命名空间