PartManager
这个类处理图模型的已改变事件,负责创建和去除模型中数据的节点和链接.
继承自: FrameworkElement
构造函数
属性
public bool AddsToLogicalTree { get; set; }
value = partManager.AddsToLogicalTree
partManager.AddsToLogicalTree = value
获取或设定是否添加和删除逻辑树上的部件 。 [仅WPF]
public bool ChecksTransactionLevel { get; set; }
value = partManager.ChecksTransactionLevel
partManager.ChecksTransactionLevel = value
获取或设定此部分管理器是否会在模式更改发生在交易之外时向 Trace 聆听器输出警告 。
public Diagram Diagram { get; internal set; }
value = partManager.Diagram
partManager.Diagram = value
获取图, 此PartManager 视模型内容而定管理部件的寿命 。
public IEnumerable<Link> Links { get; }
value = partManager.Links
获得一个可假设的 <Link> 持有图中的所有链接,包括不与数据相绑的链接 。
public IEnumerable<Node> Nodes { get; }
value = partManager.Nodes
获得一个 IAnualable <Node> X 持有图中的所有节点,包括组,包括不与数据相绑的节点,但不包括 Adornments.
public int NodesCount { get; }
value = partManager.NodesCount
获取图中当前节点的数量,包括不与数据相绑定并包含Groups的节点,但不包括Adornments.
public bool UpdatesRouteDataPoints { get; set; }
value = partManager.UpdatesRouteDataPoints
partManager.UpdatesRouteDataPoints = value
获取或设定此% 1 是否应该调用 Link 。
方法
public Link AddLinkForData(object linkdata, IDiagramModel model)
result = partManager.AddLinkForData(linkdata, model)
确定模型中的一些数据存在链接, 并添加到其LayerName指定的LinkLayer中 。
- linkdata
- 连接关系信息中的数据
- model
- 里面的模型,一个ILinksModel
返回值: 链接, 既可以是已有的, 也可以是新创建的, 或者如果%% IDiagramModel+% ) 返回错误, 或是如果图表未初始化, 则无效
public Link AddLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.AddLinkForData(fromnodedata, tonodedata, model)
确保链接存在于给定的对节点数据之间的链接关系,该链接被添加到由它的LayerName指定的LinkLayer中.
- fromnodedata
- 链接关系的数据
- tonodedata
- 链接关系所连接的数据
- model
- 节点数据所在的模型,而不是 ILinksModel
返回值: 连接两个节点数据的链接, 既可以是已有的节点数据,也可以是新创建的节点数据, 如果%% IDiagramModel%%%% 返回错误, 或者如果图表未初始化, 则无效 。
public Node AddNodeForData(object nodedata, IDiagramModel model)
result = partManager.AddNodeForData(nodedata, model)
确保模型中某些数据的节点存在, 并添加到由它的 LayerName 指定的 NodeLayer 中 。
- nodedata
- 节点信息中的数据
- model
- 模型的输入
返回值: 已存在的或新创建的 . 或 如果% IDiagramModel =%%% 返回虚假或未初始化的 . 的节点
public virtual ICopyDictionary CopyParts(IEnumerable<Part> coll, IDiagramModel destmodel)
result = partManager.CopyParts(coll, destmodel)
复制该模型的部件集到给定的模型中 。
- coll
- 用于此模型的部件集合
- destmodel
- 如果无效, 则通过调用 IDataCollection 创建类似此模式; 可以从返回的 ICopyDictionary 中获取新模式作为其 DestinationModel 属性 。
返回值: 将原始部件映射到复制的部件的 ICopyDictionary
public virtual void DeleteParts(IEnumerable<Part> coll)
partManager.DeleteParts(coll)
从此模型中去除一组部件 。
- coll
- 用于此模型的部件集合
protected virtual void DoRebuildLinkElements()
partManager.DoRebuildLinkElements()
这是RebuildLinkElements在图中用来构建或重建链接的.
protected virtual void DoRebuildNodeElements()
partManager.DoRebuildNodeElements()
为所有模型数据制作出新的节点并添加到图表中.
protected virtual bool FilterLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.FilterLinkForData(fromnodedata, tonodedata, model)
决定某一对节点数据之间的链接关系是否应该由Link在图中表示.
- fromnodedata
- 链接关系的数据
- tonodedata
- 链接关系所连接的数据
- model
- 节点数据所在的模型,而不是 ILinksModel
返回值: 真实性只当 IDiagramModel) 制作并添加到图中
protected virtual bool FilterLinkForData(object linkdata, IDiagramModel model)
result = partManager.FilterLinkForData(linkdata, model)
决定某一特定是否应当在图中用链接来表示。
- linkdata
- 连接关系信息中的数据
- model
- 里面的模型,一个ILinksModel
返回值: 真实性只当 IDiagramModel) 制作并添加到图中
protected virtual bool FilterNodeForData(object nodedata, IDiagramModel model)
result = partManager.FilterNodeForData(nodedata, model)
决定某一具体事项是否应由节点在图表中表示。
- nodedata
- 节点信息中的数据
- model
- 模型的输入
返回值: 真实性只当% @% IDiagramModel @%% 向图表中添加一个节点时
protected virtual string FindCategoryForLink(object linkdata, IDiagramModel model)
result = partManager.FindCategoryForLink(linkdata, model)
确定链接的类别,以便在链接的不同模板之间作出决定。
- linkdata
- 如果模型是 ILinksModel, 这是链接数据; 否则这是 VirtualLinkData
- model
返回值: 如果链接数据没有相关分类,则如果不是空字符串,则使用"来自"节点数据的分类,否则将尝试使用"到"节点数据的分类,默认分类就是空字符串.
protected virtual string FindCategoryForNode(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel)
result = partManager.FindCategoryForNode(nodedata, model, isgroup, islinklabel)
确定节点的类别,以便在节点的不同模板之间作出决定。
- nodedata
- model
- isgroup
- islinklabel
返回值: 调用对象的结果)
public virtual IDiagramModel FindCommonDataModel(object fromnodedata, object tonodedata)
result = partManager.FindCommonDataModel(fromnodedata, tonodedata)
查找代表节点的两个数据对象的模型。
- fromnodedata
- tonodedata
返回值: 通常为模型,但如果两者均为节点,则可能返回PartsModel,否则无效。
public Link FindLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.FindLinkForData(fromnodedata, tonodedata, model)
鉴于一对有链接关系的节点数据,请在本图中找到相应的链接.
- fromnodedata
- 链接关系的数据
- tonodedata
- 链接关系所连接的数据
- model
- 节点数据所在的模型,而不是 ILinksModel
返回值: a 链接,如果未为此对节点数据创建链接,则无效
public Link FindLinkForData(object linkdata, IDiagramModel model)
result = partManager.FindLinkForData(linkdata, model)
将一些内容放在 . , 找到此图中相应的链接 。
- linkdata
- 连接关系信息中的数据
- model
- 里面的模型,一个ILinksModel
返回值: a 链接,如果尚未为数据创建链接,则无效
public virtual IEnumerable<Link> FindLinksForData(IDataCollection datacoll)
result = partManager.FindLinksForData(datacoll)
返回此图中对应一些模型数据的链接集 。
- datacoll
- 单曲 :
返回值: 如果这个模型是 ILinksModel, 它只叫 IDiagramModel), 并收集找到的链接。 否则它会寻找与数据收集中的节点相连的链接 。
public virtual IDiagramModel FindNodeDataModel(object nodedata)
result = partManager.FindNodeDataModel(nodedata)
找到一些数据的模型 。
- nodedata
返回值: 通常为模型,但如果是部分,则可能返回 PartsModel 。
public Node FindNodeForData(object nodedata, IDiagramModel model)
result = partManager.FindNodeForData(nodedata, model)
在一个图中找到相应的节点。
- nodedata
- 节点信息中的数据
- model
- 模型的输入
返回值: a 节点,如果未为该数据创建这样的节点,则无效
public virtual IEnumerable<Node> FindNodesForData(IDataCollection datacoll)
result = partManager.FindNodesForData(datacoll)
返回此图中与一些模型数据对应的节点集合 。
- datacoll
- 单曲 :
public virtual IEnumerable<Part> FindPartsForData(IDataCollection datacoll)
result = partManager.FindPartsForData(datacoll)
返回此图中对应一些模型数据的部件集合 。
- datacoll
返回值: 节点和链接的序列
protected virtual DataTemplate FindTemplateForLink(object linkdata, IDiagramModel model, string category)
result = partManager.FindTemplateForLink(linkdata, model, category)
鉴于一个类别和链接数据,请找到一个DataTemplate,用于制作链接。
- linkdata
- model
- category
返回值: a DataTemplate取自LinkTemplate或LinkTemplateDictionary,如果没有找到模板则无效
protected virtual DataTemplate FindTemplateForNode(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel, string category)
result = partManager.FindTemplateForNode(nodedata, model, isgroup, islinklabel, category)
在设定一个类别和节点数据时,请找到一个 DataTemplate 用于制作节点或组.
- nodedata
- model
- isgroup
- islinklabel
- category
返回值: a DataTemplate取自NodeTemplate或NodeTemplateDictionary(或如果是,取自GroupTemplate或GroupTemplateDictionary),或如果找不到模板,则无效。
protected virtual Link MakeLinkForData(object linkdata, IDiagramModel model, DataTemplate templ, string category)
result = partManager.MakeLinkForData(linkdata, model, templ, category)
构建新链接, 设置其内容和 ContentTemplate 属性 。
- linkdata
- 链接所连接的数据; 不得是链接或任何UIELENT
- model
- 模型的输入
- templ
- 用于% ContentTemplate+% 的 DataTemplate+% 属性
- category
- 链接的类别
返回值: 新建链接
protected virtual Node MakeNodeForData(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel, string category, DataTemplate templ)
result = partManager.MakeNodeForData(nodedata, model, isgroup, islinklabel, category, templ)
构造一个新的节点,设置其内容和%% ContentTemplate%%% 属性 。
- nodedata
- 节点所附带的数据; 不得是节点或任何UIELAment
- model
- 模型的输入
- isgroup
- 节点是否应该是一个组而不是一个节点
- islinklabel
- 节点是否作为链接的标签节点
- category
- ,该节点的类别
- templ
- 用于% ContentTemplate+% 的 DataTemplate+% 属性
返回值: 新建的节点或组, 并经由 PartBinding 绑定
protected virtual void OnLinkAdded(Link link)
partManager.OnLinkAdded(link)
被加到图后调用 。
- link
- a 链接
protected virtual void OnLinkRemoved(Link link, LinkLayer layer)
partManager.OnLinkRemoved(link, layer)
被从图表中删除后调用 。
- link
- a 链接
- layer
- 被从LinkLayer号上取出
protected virtual void OnLinkRemoving(Link link)
partManager.OnLinkRemoving(link)
在图中删除前已调用 。
- link
- a 链接
protected virtual void OnMemberAdded(Node group, Part part)
partManager.OnMemberAdded(group, part)
在一个部分被加入到一个组节点的成员中后被调用.
- group
- a 组
- part
- a 已添加到该表格中的部分。
protected virtual void OnMemberRemoved(Node group, Part part)
partManager.OnMemberRemoved(group, part)
某部分从组节点的成员中移除后即被调用.
- group
- a 组
- part
- a 从表格中删除的部分。
public virtual void OnModelChanged(ModelChangedEventArgs e)
partManager.OnModelChanged(e)
模型的每个改变事件都要求这样做。
- e
- 更改属性给出了对模型更改的基本描述
protected virtual void OnNodeAdded(Node node)
partManager.OnNodeAdded(node)
后加图后调用 。
- node
- a 节点
protected virtual void OnNodeRemoved(Node node, NodeLayer layer)
partManager.OnNodeRemoved(node, layer)
被从图中移除后调用 。
- node
- a 节点
- layer
- 被从NodeLayer号上取出
protected virtual void OnNodeRemoving(Node node)
partManager.OnNodeRemoving(node)
调用之前, 从图表中删除 a 。
- node
- a 节点
public virtual void RealizeSubGraphMembers(Group sg)
partManager.RealizeSubGraphMembers(sg)
由ExpandSubGraph所取名,以确保组的成员节点和链接全部存在于图中.
- sg
- a 组
public virtual void RealizeTreeChildren(Node parent)
partManager.RealizeTreeChildren(parent)
这个被ExpandTree所叫来,以确保所有节点连接的节点都存在于图中.
- parent
public void RebuildLinkElements()
partManager.RebuildLinkElements()
丢弃所有已存在的链接,然后为所有模型数据制作出新的链接并添加到图表中.
public void RebuildNodeElements()
partManager.RebuildNodeElements()
丢弃所有已存在的节点和链接,然后为所有模型数据制作出新的节点和链接并添加到图表中.
public virtual void ReleaseSubGraphMembers(Group sg)
partManager.ReleaseSubGraphMembers(sg)
这被CollapseSubGraph所叫来,以便让成员节点和链接从图中去掉.
- sg
- a 组
public virtual void ReleaseTreeChildren(Node parent)
partManager.ReleaseTreeChildren(parent)
CollapseTree使用这个系统,可以让一个特定节点的所有子节点和链接从图中去掉.
- parent
public void RemoveLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
partManager.RemoveLinkForData(fromnodedata, tonodedata, model)
删除给定的节点数据中存在的链接 。
- fromnodedata
- 链接关系的数据
- tonodedata
- 链接关系所连接的数据
- model
- 节点数据所在的模型,而不是 ILinksModel
public void RemoveLinkForData(object linkdata, IDiagramModel model)
partManager.RemoveLinkForData(linkdata, model)
删除图中存在的 .
- linkdata
- 连接关系信息中的数据
- model
- 里面的模型,一个ILinksModel
public void RemoveNodeForData(object nodedata, IDiagramModel model)
partManager.RemoveNodeForData(nodedata, model)
删除此图中存在的 .
- nodedata
- model
public virtual void SelectData(IDataCollection datacoll)
partManager.SelectData(datacoll)
选择此图中与模型数据收集对应的部件。
- datacoll
- 单曲 :
protected virtual void UpdateRouteDataPoints(Link link)
partManager.UpdateRouteDataPoints(link)
这条线在链接路由后被调用,如果UpdatesRouteDataPoints是真实的,则可以将链接的点复制到链接数据.
- link