PartManager
Этот класс обрабатывает событие Changed для модели диаграммы и отвечает за создание и удаление узлов и ссылок для данных в модели.
Наследует: FrameworkElement
Конструкторы
public PartManager()
partManager = PartManager()
Конструктор для стандартного менеджера деталей, который является начальным значением PartManager.
Свойства
public bool AddsToLogicalTree { get; set; }
value = partManager.AddsToLogicalTree
partManager.AddsToLogicalTree = value
Получает или устанавливает, добавляются ли Части и удаляются ли из логического дерева.
public bool ChecksTransactionLevel { get; set; }
value = partManager.ChecksTransactionLevel
partManager.ChecksTransactionLevel = value
Получает или устанавливает, будет ли этот менеджер выдавать предупреждения слушателям, когда изменения модели происходят за пределами транзакции.
public Diagram Diagram { get; internal set; }
value = partManager.Diagram
partManager.Diagram = value
Получает Диаграмму, для которой этот PartManager управляет сроком службы Частей в зависимости от содержания Модели.
public IEnumerable<Link> Links { get; }
value = partManager.Links
Получает IEnumerable<Link>, содержащий все ссылки, которые находятся на диаграмме, включая ссылки, которые не связаны с данными.
public int LinksCount { get; }
value = partManager.LinksCount
Получает текущее количество ссылок на диаграмме, включая ссылки, которые не связаны с данными.
public IEnumerable<Node> Nodes { get; }
value = partManager.Nodes
Получает IEnumerable<Node>, удерживающий все Узлы, которые находятся на диаграмме, включая Группы, включая узлы, которые не связаны с данными, но исключая Украшения.
public int NodesCount { get; }
value = partManager.NodesCount
Получает текущее количество узлов на диаграмме, включая узлы, которые не связаны с данными и включают группы, но исключая Украшения.
public bool UpdatesRouteDataPoints { get; set; }
value = partManager.UpdatesRouteDataPoints
partManager.UpdatesRouteDataPoints = value
Получает или устанавливает, должен ли этот PartManager позвонить в Link) для каждой ссылки, которая имеет новый список баллов.
Методы
public Link AddLinkForData(object linkdata, IDiagramModel model)
result = partManager.AddLinkForData(linkdata, model)
Убедитесь, что в модели есть ссылка на некоторые данные, добавленная к LinkLayer, указанной в LayerName.
- linkdata
- данные в том, что содержит информацию о связи
- model
- Модель, в которой находится, ILinksModel
Возвращает: Ссылка для , либо существующей, либо вновь созданной, или нулевая, если IDiagramModel) возвращается ложной или если диаграмма не инициализирована
public Link AddLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.AddLinkForData(fromnodedata, tonodedata, model)
Убедитесь, что существует ссылка для связи между заданной парой данных узла, добавленной к LinkLayer, указанной в LayerName.
- fromnodedata
- Данные, из которых исходит связь
- tonodedata
- Данные, к которым относится связь
- model
- модель, в которой находятся данные узла, а не ILinksModel
Возвращает: Ссылка для соединения двух узловых данных, либо существующей, либо вновь созданной, либо нулевая, если IDiagramModel) возвращается ложной или если диаграмма не инициализирована
public Node AddNodeForData(object nodedata, IDiagramModel model)
result = partManager.AddNodeForData(nodedata, model)
Убедитесь, что в модели существует Узел для некоторых данных, добавленных к NodeLayer, указанному в его LayerName.
- nodedata
- данные в том, что содержит информацию узла
- model
- Модель, которая находится в
Возвращает: Узел для , либо существующий или вновь созданный, или нулевой, если IDiagramModel) возвращает ложный или если диаграмма не инициализирована
public virtual ICopyDictionary CopyParts(IEnumerable<Part> coll, IDiagramModel destmodel)
result = partManager.CopyParts(coll, destmodel)
Копировать коллекцию Частей от этой модели к данной модели.
- coll
- Коллекция частей, которые находятся в этой модели
- destmodel
- если не имеет силы, то это создает модель, подобную этой, позвонив по телефону IDataCollection; новая модель доступна с возвращенного ICopyDictionary как ее собственность DestinationModel
Возвращает: a 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)
Решите, должна ли связь между конкретной парой данных узла быть представлена на диаграмме ссылкой.
- 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
Возвращает: Ссылка или нулевая, если такая ссылка не была создана для этой пары данных узла
public Link FindLinkForData(object linkdata, IDiagramModel model)
result = partManager.FindLinkForData(linkdata, model)
Если дано некоторое в , найдите соответствующую ссылку на этой диаграмме.
- linkdata
- данные в том, что содержит информацию о связи
- model
- Модель, в которой находится, ILinksModel
Возвращает: Ссылка или нулевая, если такая ссылка не была создана для этих данных
public virtual IEnumerable<Link> FindLinksForData(IDataCollection datacoll)
result = partManager.FindLinksForData(datacoll)
Возврат набора ссылок на этой диаграмме, соответствующей некоторым данным модели.
- datacoll
- a IDataCollection
Возвращает: Если эта модель является 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
- Модель, которая находится в
Возвращает: Узел или нуль, если такой узел не был создан для этих данных.
public virtual IEnumerable<Node> FindNodesForData(IDataCollection datacoll)
result = partManager.FindNodesForData(datacoll)
Возврат набора узлов на этой диаграмме, соответствующего некоторым данным модели.
- datacoll
- a IDataCollection
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
- данные, к которым привязана эта ссылка; не должны быть ссылкой или каким-либо UIElement
- model
- Модель, которая находится в
- templ
- DataTemplate для ContentTemplate имущества
- category
- Категория для ссылки
Возвращает: Недавно созданный Link
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
- данные, к которым привязан этот узел; не должны быть узлом или каким-либо UIElement
- model
- Модель, которая находится в
- isgroup
- Должен ли узел быть группой, а не узлом
- islinklabel
- действует ли узел как узел метки для ссылки
- category
- Категория узла
- templ
- DataTemplate для ContentTemplate имущества
Возвращает: вновь созданный Узел или Группа, связанная через PartBinding
protected virtual void OnLinkAdded(Link link)
partManager.OnLinkAdded(link)
Называется после добавления в схему.
- link
- Ссылка
protected virtual void OnLinkRemoved(Link link, LinkLayer layer)
partManager.OnLinkRemoved(link, layer)
Называется после того, как выводится из схемы.
- link
- Ссылка
- layer
- LinkLayer, что был удален из
protected virtual void OnLinkRemoving(Link link)
partManager.OnLinkRemoving(link)
Называется до того, как удаляется из диаграммы.
- link
- Ссылка
protected virtual void OnMemberAdded(Node group, Part part)
partManager.OnMemberAdded(group, part)
Называется после того, как часть добавляется к членам узла группы.
- group
- Группа
- part
- Часть, которая была добавлена к
protected virtual void OnMemberRemoved(Node group, Part part)
partManager.OnMemberRemoved(group, part)
Называется после того, как часть удаляется из членов узла группы.
- group
- Группа
- part
- Часть, которая была удалена из
public virtual void OnModelChanged(ModelChangedEventArgs e)
partManager.OnModelChanged(e)
Это необходимо для каждого изменившегося события модели.
- e
- Свойство Изменения дает базовое описание изменения модели.
protected virtual void OnNodeAdded(Node node)
partManager.OnNodeAdded(node)
Называется после добавления a в схему.
- node
- Узел
protected virtual void OnNodeRemoved(Node node, NodeLayer layer)
partManager.OnNodeRemoved(node, layer)
Называется после того, как из диаграммы удалена а.
- node
- Узел
- layer
- NodeLayer, что был удален из
protected virtual void OnNodeRemoving(Node node)
partManager.OnNodeRemoving(node)
Называется до того, как а удаляется из диаграммы.
- node
- Узел
public virtual void RealizeSubGraphMembers(Group sg)
partManager.RealizeSubGraphMembers(sg)
Это называется ExpandSubGraph, чтобы убедиться, что все узлы и ссылки группы существуют на диаграмме.
- sg
- Группа
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
- Группа
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
- a IDataCollection
protected virtual void UpdateRouteDataPoints(Link link)
partManager.UpdateRouteDataPoints(link)
Это называется после маршрутизации ссылки, если UpdatesRouteDataPoints является правдой, чтобы позволить точкам ссылки быть скопированными в данные ссылки.
- link