PartManager
Diese Klasse behandelt das geänderte Ereignis für das Diagrammmodell und ist für das Erstellen und Entfernen von Knoten und Links für die Daten im Modell verantwortlich.
Erbt von: FrameworkElement
Konstruktoren
public PartManager()
partManager = PartManager()
Der Konstruktor für den Standardteilemanager, der der Anfangswert von PartManager ist.
Eigenschaften
public bool AddsToLogicalTree { get; set; }
value = partManager.AddsToLogicalTree
partManager.AddsToLogicalTree = value
Bestimmt oder legt fest, ob Teile hinzugefügt und aus dem logischen Baum entfernt werden. [WPF only]
public bool ChecksTransactionLevel { get; set; }
value = partManager.ChecksTransactionLevel
partManager.ChecksTransactionLevel = value
Gibt oder legt fest, ob dieser Part-Manager Warnungen an Trace-Hörer ausgibt, wenn Modelländerungen außerhalb einer Transaktion auftreten.
public Diagram Diagram { get; internal set; }
value = partManager.Diagram
partManager.Diagram = value
Erhaltet das Diagramm, für das dieses PartManager die Lebensdauer von Teilen in Abhängigkeit vom Inhalt des Modells verwaltet.
public IEnumerable<Link> Links { get; }
value = partManager.Links
Erhält ein IEnumerable<Link>, das alle Links enthält, die sich im Diagramm befinden, einschließlich Links, die nicht an Daten gebunden sind.
public int LinksCount { get; }
value = partManager.LinksCount
Gibt die aktuelle Anzahl von Links im Diagramm ab, einschließlich Links, die nicht an Daten gebunden sind.
public IEnumerable<Node> Nodes { get; }
value = partManager.Nodes
Erhaltet ein IEnumerable<Node>, das alle Knoten enthält, die sich im Diagramm befinden, einschließlich Gruppen, einschließlich Knoten, die nicht an Daten gebunden sind, aber keine Verzierungen.
public int NodesCount { get; }
value = partManager.NodesCount
Gibt die aktuelle Anzahl von Knoten im Diagramm ab, einschließlich Knoten, die nicht an Daten gebunden sind und Gruppen enthalten, aber Verzierungen ausschließen.
public bool UpdatesRouteDataPoints { get; set; }
value = partManager.UpdatesRouteDataPoints
partManager.UpdatesRouteDataPoints = value
Bekommt oder legt fest, ob dieser PartManager Link aufrufen soll) für jeden Link, der eine neue Punkteliste hat.
Methoden
public Link AddLinkForData(object linkdata, IDiagramModel model)
result = partManager.AddLinkForData(linkdata, model)
Stellen Sie sicher, dass ein Link für einige Daten im Modell vorhanden ist, der zu LinkLayer hinzugefügt wird, der von LayerName angegeben wird.
- linkdata
- die Daten in der, die Link-Beziehungsinformationen enthält
- model
- das Modell, in dem sich das befindet, ein ILinksModel
Rückgabe: der Link für die , entweder eine bestehende oder eine neu erstellte oder null, wenn IDiagramModel gibt false oder wenn das Diagramm uninitialisiert ist
public Link AddLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.AddLinkForData(fromnodedata, tonodedata, model)
Stellen Sie sicher, dass ein Link für die Linkbeziehung zwischen dem angegebenen Knotendatenpaar existiert, der zu LinkLayer hinzugefügt wird, der von LayerName angegeben wird.
- fromnodedata
- die Daten, aus denen die Linkbeziehung stammt
- tonodedata
- die Daten, auf die die Linkbeziehung geht
- model
- das Modell, in dem sich die Knotendaten befinden, nicht ILinksModel
Rückgabe: der Link für die Verbindung der beiden Knotendaten, entweder eine bestehende oder eine neu erstellte, oder null, wenn IDiagramModel) false zurückgibt oder wenn das Diagramm uninitialisiert ist
public Node AddNodeForData(object nodedata, IDiagramModel model)
result = partManager.AddNodeForData(nodedata, model)
Stellen Sie sicher, dass für einige Daten im Modell ein Knoten vorhanden ist, der zu dem NodeLayer hinzugefügt wird, der von LayerName angegeben wird.
- nodedata
- die Daten in der, die Knoteninformationen enthält
- model
- Das Modell, in dem die
Rückgabe: der Knoten für die , entweder eine bestehende oder eine neu erstellte oder null, wenn IDiagramModel gibt false oder wenn das Diagramm uninitialisiert ist
public virtual ICopyDictionary CopyParts(IEnumerable<Part> coll, IDiagramModel destmodel)
result = partManager.CopyParts(coll, destmodel)
Kopieren Sie eine Sammlung von Teilen aus diesem Modell in ein bestimmtes Modell.
- coll
- eine Sammlung von Teilen, die in diesem Modell enthalten sind
- destmodel
- Wenn null, erzeugt dies ein Modell wie dieses, indem Sie IDataCollection aufrufen; das neue Modell ist verfügbar von der zurückgegebenen ICopyDictionary als DestinationModel-Eigenschaft.
Rückgabe: ein ICopyDictionary, das Originalteile den kopierten zuordnet
public virtual void DeleteParts(IEnumerable<Part> coll)
partManager.DeleteParts(coll)
Entfernen Sie eine Sammlung von Teilen aus diesem Modell.
- coll
- eine Sammlung von Teilen, die in diesem Modell enthalten sind
protected virtual void DoRebuildLinkElements()
partManager.DoRebuildLinkElements()
Dies wird von RebuildLinkElements aufgerufen, um Links im Diagramm zu konstruieren oder zu rekonstruieren.
protected virtual void DoRebuildNodeElements()
partManager.DoRebuildNodeElements()
Erstellen Sie neue Knoten für alle Modelldaten und fügen Sie sie dem Diagramm hinzu.
protected virtual bool FilterLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.FilterLinkForData(fromnodedata, tonodedata, model)
Entscheiden Sie, ob die Verknüpfungsbeziehung zwischen einem bestimmten Knotendatenpaar im Diagramm durch einen Link dargestellt werden soll.
- fromnodedata
- die Daten, aus denen die Linkbeziehung stammt
- tonodedata
- die Daten, auf die die Linkbeziehung geht
- model
- das Modell, in dem sich die Knotendaten befinden, nicht ILinksModel
Rückgabe: true nur wenn IDiagramModel soll einen Link zum Diagramm machen und hinzufügen
protected virtual bool FilterLinkForData(object linkdata, IDiagramModel model)
result = partManager.FilterLinkForData(linkdata, model)
Entscheiden Sie, ob ein bestimmtes Element im Diagramm durch einen Link dargestellt werden soll.
- linkdata
- die Daten in der, die Link-Beziehungsinformationen enthält
- model
- das Modell, in dem sich das befindet, ein ILinksModel
Rückgabe: true nur wenn IDiagramModel soll einen Link zum Diagramm machen und hinzufügen
protected virtual bool FilterNodeForData(object nodedata, IDiagramModel model)
result = partManager.FilterNodeForData(nodedata, model)
Entscheiden Sie, ob ein bestimmtes Element im Diagramm durch einen Knoten dargestellt werden soll.
- nodedata
- die Daten in der, die Knoteninformationen enthält
- model
- Das Modell, in dem die
Rückgabe: true nur wenn IDiagramModel soll einen Knoten zu dem Diagramm zu machen und hinzufügen
protected virtual string FindCategoryForLink(object linkdata, IDiagramModel model)
result = partManager.FindCategoryForLink(linkdata, model)
Bestimmen Sie die Kategorie für den Link, um zwischen verschiedenen Vorlagen für den Link entscheiden zu können.
- linkdata
- Wenn das Modell ein ILinksModel ist, ist dies die Linkdaten; Andernfalls ist dies ein VirtualLinkData
- model
Rückgabe: Wenn den Linkdaten keine Kategorie zugeordnet ist, verwendet diese die Kategorie der "from"-Knotendaten, wenn es sich nicht um einen leeren String handelt, oder versucht, die Kategorie der "to"-Knotendaten zu verwenden, wobei die Standardkategorie der leere String ist.
protected virtual string FindCategoryForNode(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel)
result = partManager.FindCategoryForNode(nodedata, model, isgroup, islinklabel)
Bestimmen Sie die Kategorie für den Knoten, um zwischen verschiedenen Vorlagen für den Knoten entscheiden zu können.
- nodedata
- model
- isgroup
- islinklabel
Rückgabe: das Ergebnis des Aufrufs von Object
public virtual IDiagramModel FindCommonDataModel(object fromnodedata, object tonodedata)
result = partManager.FindCommonDataModel(fromnodedata, tonodedata)
Finden Sie das Modell für die beiden Datenobjekte, die Knoten darstellen.
- fromnodedata
- tonodedata
Rückgabe: Normalerweise das Modell, aber kann die PartsModel zurückgeben, wenn beide und Nodes sind, ansonsten null.
public Link FindLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.FindLinkForData(fromnodedata, tonodedata, model)
Wenn ein Knotendatenpaar vorhanden ist, für das eine Verknüpfungsbeziehung besteht, finden Sie den entsprechenden Link in diesem Diagramm.
- fromnodedata
- die Daten, aus denen die Linkbeziehung stammt
- tonodedata
- die Daten, auf die die Linkbeziehung geht
- model
- das Modell, in dem sich die Knotendaten befinden, nicht ILinksModel
Rückgabe: a Link oder null, wenn eine solche Verknüpfung nicht für dieses Knotendatenpaar erstellt wurde
public Link FindLinkForData(object linkdata, IDiagramModel model)
result = partManager.FindLinkForData(linkdata, model)
Wenn einige in einem gegeben sind, finden Sie den entsprechenden Link in diesem Diagramm.
- linkdata
- die Daten in der, die Link-Beziehungsinformationen enthält
- model
- das Modell, in dem sich das befindet, ein ILinksModel
Rückgabe: a Link oder null, wenn ein solcher Link nicht für diese Daten erstellt wurde
public virtual IEnumerable<Link> FindLinksForData(IDataCollection datacoll)
result = partManager.FindLinksForData(datacoll)
Geben Sie eine Sammlung von Links in diesem Diagramm zurück, die einigen Modelldaten entsprechen.
- datacoll
- ein IDataCollection
Rückgabe: Wenn dieses Modell ein ILinksModel ist, ruft es einfach IDiagramModel auf und sammelt die gefundenen Links. Andernfalls sucht es nach Links, die mit den Knoten in der Datensammlung verbunden sind.
public virtual IDiagramModel FindNodeDataModel(object nodedata)
result = partManager.FindNodeDataModel(nodedata)
Finden Sie das Modell für einige Daten.
- nodedata
Rückgabe: Normalerweise das Modell, aber kann die PartsModel zurückgeben, wenn es sich um einen Teil handelt.
public Node FindNodeForData(object nodedata, IDiagramModel model)
result = partManager.FindNodeForData(nodedata, model)
Wenn einige in einem gegeben sind, finden Sie den entsprechenden Knoten in diesem Diagramm.
- nodedata
- die Daten in der, die Knoteninformationen enthält
- model
- Das Modell, in dem die
Rückgabe: ein Knoten oder null, wenn ein solcher Knoten nicht für diese Daten erstellt wurde
public virtual IEnumerable<Node> FindNodesForData(IDataCollection datacoll)
result = partManager.FindNodesForData(datacoll)
Geben Sie eine Sammlung von Knoten in diesem Diagramm zurück, die einigen Modelldaten entspricht.
- datacoll
- ein IDataCollection
public virtual IEnumerable<Part> FindPartsForData(IDataCollection datacoll)
result = partManager.FindPartsForData(datacoll)
Geben Sie eine Sammlung von Teilen in diesem Diagramm zurück, die einigen Modelldaten entspricht.
- datacoll
Rückgabe: eine Sequenz von Nodes und Links
protected virtual DataTemplate FindTemplateForLink(object linkdata, IDiagramModel model, string category)
result = partManager.FindTemplateForLink(linkdata, model, category)
Wenn Sie eine Kategorie und die Linkdaten angeben, finden Sie ein DataTemplate, das Sie beim Erstellen des Links verwenden können.
- linkdata
- model
- category
Rückgabe: a DataTemplate entweder von LinkTemplate oder LinkTemplateDictionary oder null, wenn keine Vorlage gefunden wird
protected virtual DataTemplate FindTemplateForNode(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel, string category)
result = partManager.FindTemplateForNode(nodedata, model, isgroup, islinklabel, category)
Wenn Sie eine Kategorie und die Knotendaten angeben, finden Sie ein DataTemplate, das Sie beim Erstellen des Knotens oder der Gruppe verwenden können.
- nodedata
- model
- isgroup
- islinklabel
- category
Rückgabe: a DataTemplate entweder von NodeTemplate oder NodeTemplateDictionary genommen (oder wenn es wahr ist, entweder von GroupTemplate oder GroupTemplateDictionary) oder null, wenn keine Vorlage gefunden wird
protected virtual Link MakeLinkForData(object linkdata, IDiagramModel model, DataTemplate templ, string category)
result = partManager.MakeLinkForData(linkdata, model, templ, category)
Erstellen Sie einen neuen Link, indem Sie dessen Inhalt und ContentTemplate Eigenschaften festlegen.
- linkdata
- die Daten, an die dieser Link gebunden ist; darf kein Link oder UIElement sein
- model
- Das Modell, in dem die
- templ
- das DataTemplate für die ContentTemplate-Eigenschaft
- category
- Kategorie für den Link
Rückgabe: Ein neu erstellter 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)
Erstellen Sie einen neuen Knoten, indem Sie dessen Inhalt und ContentTemplate Eigenschaften festlegen.
- nodedata
- die Daten, an die dieser Knoten gebunden ist; darf kein Knoten oder UIElement sein
- model
- Das Modell, in dem die
- isgroup
- ob der Knoten eine Gruppe anstelle eines Knotens sein sollte
- islinklabel
- ob der Knoten als Label-Knoten für einen Link fungiert
- category
- die Kategorie des Knotens
- templ
- das DataTemplate für die ContentTemplate-Eigenschaft
Rückgabe: ein neu erstellter Knoten oder eine Gruppe, gebunden an PartBinding
protected virtual void OnLinkAdded(Link link)
partManager.OnLinkAdded(link)
Aufrufen nach dem Hinzufügen zum Diagramm.
- link
- a Link
protected virtual void OnLinkRemoved(Link link, LinkLayer layer)
partManager.OnLinkRemoved(link, layer)
Aufrufen, nachdem das Diagramm entfernt wurde.
- link
- a Link
- layer
- LinkLayer, von dem die
protected virtual void OnLinkRemoving(Link link)
partManager.OnLinkRemoving(link)
Aufrufen, bevor das Diagramm entfernt wird.
- link
- a Link
protected virtual void OnMemberAdded(Node group, Part part)
partManager.OnMemberAdded(group, part)
Aufrufen, nachdem ein Teil zu den Mitgliedern eines Gruppenknotens hinzugefügt wurde.
- group
- a Gruppe
- part
- a Teil, der dem
protected virtual void OnMemberRemoved(Node group, Part part)
partManager.OnMemberRemoved(group, part)
Aufruf, nachdem ein Teil von den Mitgliedern eines Gruppenknotens entfernt wurde.
- group
- a Gruppe
- part
- a Teil, der aus dem
public virtual void OnModelChanged(ModelChangedEventArgs e)
partManager.OnModelChanged(e)
Dies wird für jedes geänderte Ereignis des Modells aufgerufen.
- e
- Die Eigenschaft Change gibt eine grundlegende Beschreibung der Änderung am Modell
protected virtual void OnNodeAdded(Node node)
partManager.OnNodeAdded(node)
Aufrufen, nachdem a dem Diagramm hinzugefügt wurde.
- node
- a Knotenpunkt
protected virtual void OnNodeRemoved(Node node, NodeLayer layer)
partManager.OnNodeRemoved(node, layer)
Aufrufen, nachdem a aus dem Diagramm entfernt wurde.
- node
- a Knotenpunkt
- layer
- NodeLayer, von dem die
protected virtual void OnNodeRemoving(Node node)
partManager.OnNodeRemoving(node)
Aufrufen, bevor a aus dem Diagramm entfernt wird.
- node
- a Knotenpunkt
public virtual void RealizeSubGraphMembers(Group sg)
partManager.RealizeSubGraphMembers(sg)
Dies wird von ExpandSubGraph aufgerufen, um sicherzustellen, dass die Mitglieder der Gruppe Nodes und Links alle im Diagramm vorhanden sind.
- sg
- a Gruppe
public virtual void RealizeTreeChildren(Node parent)
partManager.RealizeTreeChildren(parent)
Dies wird von ExpandTree aufgerufen, um sicherzustellen, dass alle verbundenen Knoten des Knotens im Diagramm vorhanden sind.
- parent
public void RebuildLinkElements()
partManager.RebuildLinkElements()
Alle vorhandenen Links verwerfen und dann neue für alle Modelldaten erstellen und sie dem Diagramm hinzufügen.
public void RebuildNodeElements()
partManager.RebuildNodeElements()
Alle vorhandenen Nodes und Links verwerfen und dann neue für alle Modelldaten erstellen und sie dem Diagramm hinzufügen.
public virtual void ReleaseSubGraphMembers(Group sg)
partManager.ReleaseSubGraphMembers(sg)
Dies wird von CollapseSubGraph aufgerufen, um das Entfernen der Mitgliedsknoten und Links aus dem Diagramm zu ermöglichen.
- sg
- a Gruppe
public virtual void ReleaseTreeChildren(Node parent)
partManager.ReleaseTreeChildren(parent)
Dies wird von CollapseTree aufgerufen, um alle untergeordneten Knoten und Links für einen bestimmten Knoten aus dem Diagramm entfernen zu können.
- parent
public void RemoveLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
partManager.RemoveLinkForData(fromnodedata, tonodedata, model)
Entfernen Sie einen Link, der für ein Paar von gegebenen Knotendaten vorhanden ist.
- fromnodedata
- die Daten, aus denen die Linkbeziehung stammt
- tonodedata
- die Daten, auf die die Linkbeziehung geht
- model
- das Modell, in dem sich die Knotendaten befinden, nicht ILinksModel
public void RemoveLinkForData(object linkdata, IDiagramModel model)
partManager.RemoveLinkForData(linkdata, model)
Entfernen Sie einen Link, der im Diagramm für die .
- linkdata
- die Daten in der, die Link-Beziehungsinformationen enthält
- model
- das Modell, in dem sich das befindet, ein ILinksModel
public void RemoveNodeForData(object nodedata, IDiagramModel model)
partManager.RemoveNodeForData(nodedata, model)
Entfernen Sie einen Knoten in diesem Diagramm, der für die .
- nodedata
- model
public virtual void SelectData(IDataCollection datacoll)
partManager.SelectData(datacoll)
Wählen Sie die Teile in diesem Diagramm aus, die einer Sammlung von Modelldaten entsprechen.
- datacoll
- ein IDataCollection
protected virtual void UpdateRouteDataPoints(Link link)
partManager.UpdateRouteDataPoints(link)
Dies wird nach dem Link-Routing aufgerufen, wenn UpdatesRouteDataPoints @ wahr ist, um zu ermöglichen, dass die Punkte des Links in die Linkdaten kopiert werden.
- link