DiagramPanel
Die DiagramPanel ist die zentrale Klasse eines Diagramms, die alle Teileebenen enthält, die für die Übersetzung (Scrollen) und Skalierung (Zooming) und Ausrichtung verantwortlich sind, die Grenzen des Diagramms im Auge behalten und verschiedene Treffertestmethoden haben, die verwendet werden, um das Diagramm nach bestimmten Elementen zu durchsuchen.
Erbt von: Panel
Implementiert: IScrollInfo
Konstruktoren
Eigenschaften
public NodeLayer AdornmentLayer { get; }
value = diagramPanel.AdornmentLayer
Bekommt die Standardschicht, die zum Halten von Verzierungen verwendet wird, die normalerweise vor allen anderen Schichten liegt.
public int AutoScrollDelay { get; set; }
value = diagramPanel.AutoScrollDelay
diagramPanel.AutoScrollDelay = value
Bekommt oder legt fest, wie lange vor dem Autoscrolling gewartet werden soll.
public Thickness AutoScrollRegion { get; set; }
value = diagramPanel.AutoScrollRegion
diagramPanel.AutoScrollRegion = value
Bekommt oder setzt den Rand im Panel, wo ein Maus-Drag automatisch dazu führt, dass die Ansicht scrollt.
public int AutoScrollTime { get; set; }
value = diagramPanel.AutoScrollTime
diagramPanel.AutoScrollTime = value
Bestimmt oder legt fest, wie schnell die Position geändert werden soll, wenn sich die Maus im AutoScrollRegion befindet.
public bool CanHorizontallyScroll { get; set; }
value = diagramPanel.CanHorizontallyScroll
diagramPanel.CanHorizontallyScroll = value
Gibt oder stellt fest, ob der Benutzer horizontal scrollen kann. (Implements IScrollInfo @ .)
public bool CanVerticallyScroll { get; set; }
value = diagramPanel.CanVerticallyScroll
diagramPanel.CanVerticallyScroll = value
Gibt oder stellt fest, ob der Benutzer vertikal scrollen kann. (Implements IScrollInfo @ .)
public Diagram Diagram { get; internal set; }
value = diagramPanel.Diagram
diagramPanel.Diagram = value
Erhaltet das Diagramm, in dem sich dieses Panel befindet.
public Rect DiagramBounds { get; set; }
value = diagramPanel.DiagramBounds
diagramPanel.DiagramBounds = value
Bekommt oder setzt die Modell-Koordinaten-Grenzen des Diagramms.
public double ExtentHeight { get; }
value = diagramPanel.ExtentHeight
Holen Sie sich die vertikale Größe des scrollbaren Teils dieses Diagramms in Steuereinheiten (geräteunabhängiges Pixel). (Implements IScrollInfo @ .)
public double ExtentWidth { get; }
value = diagramPanel.ExtentWidth
Holen Sie sich die horizontale Größe des scrollbaren Teils dieses Diagramms in Steuereinheiten (geräteunabhängige Pixel). (Implements IScrollInfo.)
public Rect FixedBounds { get; set; }
value = diagramPanel.FixedBounds
diagramPanel.FixedBounds = value
Bekommt oder setzt ein festes Begrenzungsrechteck, das von ComputeDiagramBounds zurückgegeben wird.
public HorizontalAlignment HorizontalContentAlignment { get; set; }
value = diagramPanel.HorizontalContentAlignment
diagramPanel.HorizontalContentAlignment = value
Bestimmt oder legt fest, wie die Teile im Panel positioniert sind, wenn die Breite DiagramBounds kleiner ist als die ViewportWidth.
public double HorizontalOffset { get; }
value = diagramPanel.HorizontalOffset
Bekommt den horizontalen Versatz der Teile des Diagramms. (Implements IScrollInfo @.)
public double MaximumScale { get; set; }
value = diagramPanel.MaximumScale
diagramPanel.MaximumScale = value
Bekommt oder setzt den größten Wert, den Scale annehmen kann.
public double MinimumScale { get; set; }
value = diagramPanel.MinimumScale
diagramPanel.MinimumScale = value
Erhält oder setzt den kleinsten Wert größer als Null, den Scale annehmen kann.
public Thickness Padding { get; set; }
value = diagramPanel.Padding
diagramPanel.Padding = value
Bekommt oder legt die Menge an zusätzlichem "leeren" Speicherplatz um den DiagramBounds vor.
public Point Position { get; set; }
value = diagramPanel.Position
diagramPanel.Position = value
Bekommt oder setzt den Punkt in Modellkoordinaten, der in der oberen linken Ecke dieses Panels angezeigt wird.
public double Scale { get; set; }
value = diagramPanel.Scale
diagramPanel.Scale = value
Bekommt oder legt den Skalierungsfaktor fest, bei dem alles gerendert wird.
public double ScrollHorizontalLineChange { get; set; }
value = diagramPanel.ScrollHorizontalLineChange
diagramPanel.ScrollHorizontalLineChange = value
Bekommt oder legt die Größe einer "Linie" beim horizontalen Scrollen fest.
public ScrollViewer ScrollOwner { get; set; }
value = diagramPanel.ScrollOwner
diagramPanel.ScrollOwner = value
Bekommt oder setzt das ScrollViewer, mit dem der Benutzer dieses Panel scrollen kann. (Implementierungen IScrollInfo.)
public double ScrollVerticalLineChange { get; set; }
value = diagramPanel.ScrollVerticalLineChange
diagramPanel.ScrollVerticalLineChange = value
Bekommt oder stellt die Größe einer "Linie" beim vertikalen Scrollen ein.
public StretchPolicy Stretch { get; set; }
value = diagramPanel.Stretch
diagramPanel.Stretch = value
Gibt oder legt fest, wie die Eigenschaft Scale des Panels festgelegt ist, abhängig von der Größe des DiagramBounds.
public VerticalAlignment VerticalContentAlignment { get; set; }
value = diagramPanel.VerticalContentAlignment
diagramPanel.VerticalContentAlignment = value
Bestimmt oder legt fest, wie die Teile im Panel positioniert sind, wenn die Breite DiagramBounds kleiner ist als die ViewportWidth.
public double VerticalOffset { get; }
value = diagramPanel.VerticalOffset
Erhält den vertikalen Versatz der Teile des Diagramms. (Implements IScrollInfo @.)
public Rect ViewportBounds { get; }
value = diagramPanel.ViewportBounds
Erhält den sichtbaren Teil dieses Panels in Modellkoordinaten.
public double ViewportHeight { get; }
value = diagramPanel.ViewportHeight
Holen Sie sich die vertikale Größe des sichtbaren Teils dieses Panels unter Kontrolle (geräteunabhängiges Pixel) Einheiten. (Implements IScrollInfo @).
public double ViewportWidth { get; }
value = diagramPanel.ViewportWidth
Holen Sie sich die horizontale Größe des sichtbaren Teils dieses Panels in Steuergeräten (geräteunabhängige Pixel) Einheiten. (Implements IScrollInfo.)
public Point ZoomPoint { get; set; }
value = diagramPanel.ZoomPoint
diagramPanel.ZoomPoint = value
Bekommt oder setzt den scheinbaren Fokuspunkt, der beim Ein- oder Auszoomen verwendet wird.
public int ZoomTime { get; set; }
value = diagramPanel.ZoomTime
diagramPanel.ZoomTime = value
Gibt oder legt fest, wie schnell die Eigenschaften Skalierung und/oder Position geändert werden sollen, wenn Änderungen an DiagramBounds oder Änderungen der Panelgröße vorgenommen werden, die eine Neuausrichtung des Inhalts verursachen, oder in Aufrufen von Rect oder Action.
Methoden
protected override Size ArrangeOverride(Size finalSize)
result = diagramPanel.ArrangeOverride(finalSize)
Ordnen Sie jede der Schichten in diesem Panel an.
- finalSize
public void CenterPart(Part part)
diagramPanel.CenterPart(part)
Zentrieren Sie die Grenzen eines Teils innerhalb dieses Viewports.
- part
public void CenterPart(Part part, Action afterwards)
diagramPanel.CenterPart(part, afterwards)
Zentrieren Sie die Grenzen eines Teils innerhalb dieses Viewports.
- part
- afterwards
- eine Aktion, die nach Abschluss der Animation ausgeführt werden soll; kann null sein
public void CenterRect(Rect bounds, Action afterwards)
diagramPanel.CenterRect(bounds, afterwards)
Zentrieren Sie einen bestimmten Bereich des Diagramms in diesem Viewport.
- bounds
- a Rect in Modellkoordinaten
- afterwards
- eine Aktion, die nach Abschluss der Animation ausgeführt werden soll; kann null sein
protected virtual Point ComputeAutoScrollPosition(Point viewPnt)
result = diagramPanel.ComputeAutoScrollPosition(viewPnt)
Diese Methode wird aufgerufen, um die nächste Position im Dokument für diese Ansicht zu bestimmen, wenn der Benutzer die Maus zieht.
- viewPnt
- Der Mauspunkt in den Kontrollkoordinaten.
public virtual Rect ComputeBounds(IEnumerable<Part> parts)
result = diagramPanel.ComputeBounds(parts)
Berechnen Sie das Begrenzungsrechteck, das eine bestimmte Sammlung von Teilen umgibt.
- parts
Rückgabe: die Vereinigung der Bounds aller Teile in , oder Rect.Empty, wenn es keine Teile gibt
protected virtual Rect ComputeDiagramBounds()
result = diagramPanel.ComputeDiagramBounds()
Dies wird von UpdateDiagramBounds aufgerufen, um einen neuen Wert für DiagramBounds zu bestimmen.
Rückgabe: a Rect in Modellkoordinaten
protected virtual GridPattern CreateBackgroundGridPattern()
result = diagramPanel.CreateBackgroundGridPattern()
Erstellen Sie GridPattern für das gesamte Diagramm mit der Datenvorlage GridPatternTemplate.
Rückgabe: Der ungebundene Knoten, der GridPattern hält
public void DoAutoScroll(Point modelPnt)
diagramPanel.DoAutoScroll(modelPnt)
Starten oder Weiterfahren der Ansicht automatisch während eines Maus-Drags.
- modelPnt
- der aktuelle Mauspunkt in Modellkoordinaten
protected virtual Rect DoMakeVisible(UIElement elt, Rect rectangle)
result = diagramPanel.DoMakeVisible(elt, rectangle)
Diese übersteuerbare Methode verändert die Position, so dass das gegebene Element im Viewport sichtbar wird.
- elt
- ein UIElement, das sich im visuellen Baum dieses Panels befindet
- rectangle
- Die Region des Elements, die in Sicht gebracht werden soll; wenn diese leer ist, wird dies standardmäßig auf die Bounds des Elements des übergeordneten Teils eingestellt.
public T FindElementAt<T>(Point p, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementAt(p, navig, pred, layers)
Suchen Sie alle Teile, die an einem bestimmten Punkt sind, die ein bestimmtes Prädikat erfüllen, und geben Sie das erste Element zurück, das übereinstimmt.
- p
- a Punkt in den Modellkoordinaten
- navig
- Dies ist eine Funktion, die an einem bestimmten Punkt ein Element erhält und ein Element vom Typ zurückgibt, das vom Prädikat berücksichtigt werden soll.
- pred
- Dies ist ein Prädikat, das ein Element vom Typ gegeben wird ; Wenn das Prädikat true zurückgibt, gibt diese Methode dieses Element zurück; wenn es false zurückgibt, wird die Suche nach Elementen an der angegebenen Stelle fortgesetzt. Wenn dieses Prädikatargument null ist, wird keine Filterung von Elementen durchgeführt - das erste gefundene Element wird zurückgegeben.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach einem Knoten suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: ein Element vom Typ , oder null, wenn keine gefunden wird
public IEnumerable<T> FindElementsAt<T>(Point p, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsAt(p, navig, pred, layers)
Suchen Sie alle Teile, die sich an einem bestimmten Punkt befinden, die einem bestimmten Prädikat entsprechen, und geben Sie eine Sammlung von Elementen zurück, die übereinstimmen.
- p
- a Punkt in den Modellkoordinaten
- navig
- Dies ist eine Funktion, die an einem bestimmten Punkt ein Element erhält und ein Element vom Typ zurückgibt, das vom Prädikat berücksichtigt werden soll.
- pred
- Dies ist ein Prädikat, das ein Element vom Typ gegeben wird ; wenn das Prädikat true zurückgibt, beinhaltet diese Methode dieses Element in seinen Ergebnissen.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: eine vielleicht leere Sammlung von Elementen des Typs
public IEnumerable<T> FindElementsIn<T>(Rect rect, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsIn(rect, navig, pred, layers)
Finden Sie Elemente, die sich innerhalb eines Rechtecks befinden.
- rect
- a Rect in Modellkoordinaten
- navig
- Dies ist eine Funktion, die an einem bestimmten Punkt ein Element erhält und ein Element vom Typ zurückgibt, das vom Prädikat berücksichtigt werden soll.
- pred
- Dies ist ein Prädikat, das ein Element des Typs gegeben wird; wenn das Prädikat true zurückgibt, enthält diese Methode dieses Element in seinen Ergebnissen.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: eine vielleicht leere Sammlung von Elementen des Typs
public IEnumerable<T> FindElementsNear<T>(Point p, double dist, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsNear(p, dist, navig, pred, layers)
Finden Sie Elemente, die sich in einem Abstand von einem Punkt befinden.
- p
- a Punkt in den Modellkoordinaten
- dist
- die Entfernung in Modellkoordinaten
- navig
- Dies ist eine Funktion, die an einem bestimmten Punkt ein Element erhält und ein Element vom Typ zurückgibt, das vom Prädikat berücksichtigt werden soll.
- pred
- Dies ist ein Prädikat, das ein Element des Typs gegeben wird; wenn das Prädikat true zurückgibt, enthält diese Methode dieses Element in seinen Ergebnissen.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: ein Element vom Typ , oder null, wenn keine gefunden wird
internal IEnumerable<T> FindElementsWithin<T>(Geometry geo, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsWithin(geo, navig, pred, layers)
Suchen Sie alle Teile, die sich innerhalb einer gegebenen Geometrie befinden, die einem gegebenen Prädikat entsprechen, und geben Sie eine Sammlung von Elementen zurück, die übereinstimmen.
- geo
- a Geometrie in Modellkoordinaten
- navig
- Dies ist eine Funktion, die an einem bestimmten Punkt ein Element erhält und ein Element vom Typ zurückgibt, das vom Prädikat berücksichtigt werden soll.
- pred
- Dies ist ein Prädikat, das ein Element des Typs gegeben wird; wenn das Prädikat true zurückgibt, enthält diese Methode dieses Element in seinen Ergebnissen.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: eine vielleicht leere Sammlung von Elementen des Typs
public T FindLayer<T>(string name)
result = diagramPanel.FindLayer(name)
Finden Sie eine Schicht des angegebenen Typs mit genau der gleichen ID wie die gegebene .
- name
public T FindPartAt<T>(Point p, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindPartAt(p, pred, layers)
Geben Sie den vordersten Teil zurück, der sich an einem bestimmten Punkt befindet.
- p
- a Punkt in den Modellkoordinaten
- pred
- Dies ist ein Prädikat, das einen Teil vom Typ erhält; wenn das Prädikat true zurückgibt, gibt diese Methode diesen Teil zurück.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: null, wenn kein solcher Teil gefunden wird
public IEnumerable<T> FindPartsAt<T>(Point p, SearchLayers layers)
result = diagramPanel.FindPartsAt(p, layers)
Geben Sie alle Teile zurück, die sich an einem bestimmten Punkt befinden.
- p
- a Punkt in den Modellkoordinaten
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: Alle Teile des angegebenen Typs, die sich am Punkt befinden und die sich in den durch . angegebenen Schichten befinden, geben eine leere Liste zurück, wenn keine qualifizierenden Teile gefunden werden.
public IEnumerable<T> FindPartsIn<T>(Rect rect, SearchFlags srch, SearchInclusion overlap, SearchLayers layers)
result = diagramPanel.FindPartsIn(rect, srch, overlap, layers)
Finden Sie Teile, die sich innerhalb eines Rechtecks befinden.
- rect
- a Rect in Modellkoordinaten
- srch
- Welche Arten von Teilen enthalten; ein typischer Wert könnte SelectableParts sein.
- overlap
- Die erforderliche geometrische Beziehung zum Teil; der typische Wert ist Inside.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
public IEnumerable<T> FindPartsNear<T>(Point p, double dist, SearchFlags srch, SearchInclusion overlap, SearchLayers layers)
result = diagramPanel.FindPartsNear(p, dist, srch, overlap, layers)
Finde Teile, die nahe an einem Punkt sind.
- p
- a Punkt in den Modellkoordinaten
- dist
- die Entfernung in Modellkoordinaten
- srch
- Welche Arten von Teilen enthalten; ein typischer Wert könnte SelectableParts sein.
- overlap
- Die erforderliche geometrische Beziehung zum Teil; der typische Wert ist Inside.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
internal IEnumerable<T> FindPartsWithin<T>(Geometry geo, SearchFlags srch, SearchInclusion overlap, SearchLayers layers)
result = diagramPanel.FindPartsWithin(geo, srch, overlap, layers)
Suchen Sie alle Teile, die sich innerhalb einer bestimmten Geometrie befinden, die bestimmte Kriterien erfüllen, und geben Sie eine Sammlung von Teilen zurück, die übereinstimmen.
- geo
- a Geometrie in Modellkoordinaten
- srch
- Welche Arten von Teilen enthalten; ein typischer Wert könnte SelectableParts sein.
- overlap
- Die erforderliche geometrische Beziehung zur Geometrie; der typische Wert ist Inside.
- layers
- Die Arten von Layers, in denen gesucht werden soll. Wenn Sie beispielsweise nach Nodes suchen, wird die Suche mit dem Wert Nodes beschleunigt, indem Sie Layers ignorieren, die Links enthalten.
Rückgabe: eine vielleicht leere Sammlung von Elementen des Typs
public T GetLayer<T>(string name)
result = diagramPanel.GetLayer(name)
Suchen Sie eine Schicht des angegebenen Typs mit genau der gleichen ID wie die angegebene oder geben Sie eine Standardschicht des angegebenen Typs zurück.
- name
protected virtual void InitializeLayers()
diagramPanel.InitializeLayers()
Wenn in der Kindersammlung dieses Panels keine Layers vorhanden sind, erstellen Sie den Standardsatz von Layers.
public static bool IsDoubleClick(MouseButtonEventArgs e)
result = DiagramPanel.IsDoubleClick(e)
Dieses Prädikat gilt, wenn das Maustastenereignis einen Doppelklick darstellt.
- e
internal bool IsUnoccupied(Rect r, Predicate<Part> skip)
result = diagramPanel.IsUnoccupied(r, skip)
Gibt true zurück, wenn sich Knoten innerhalb oder im Schnitt des angegebenen rechteckigen Bereichs befinden.
- r
- a Rect in Modellkoordinaten
- skip
- ein Prädikat, das für Knoten, die bei der Überprüfung auf Kollisionen ignoriert werden, gültig sein sollte, normalerweise der Knoten im Dokument, den Sie verschieben möchten; kann null sein, um alle nicht-temporären Knoten zu berücksichtigen
public void LineDown()
diagramPanel.LineDown()
Erhöht die VerticalOffset von ScrollVerticalLineChange. (Installationen IScrollInfo @)
public void LineLeft()
diagramPanel.LineLeft()
Verringert die HorizontalOffset von ScrollHorizontalLineChange. (Installationen IScrollInfo @)
public void LineRight()
diagramPanel.LineRight()
Erhöht die HorizontalOffset von ScrollHorizontalLineChange. (Installationen IScrollInfo @)
public void LineUp()
diagramPanel.LineUp()
Verringert die VerticalOffset von ScrollVerticalLineChange. (Installationen IScrollInfo @)
public BitmapSource MakeBitmap(Size bmpsize, double dpi, Point viewpos, double scale)
result = diagramPanel.MakeBitmap(bmpsize, dpi, viewpos, scale)
Geben Sie eine Bitmap zurück, die die Teile in einem bestimmten Bereich zeigt, die in einem bestimmten Maßstab gezeichnet sind.
- bmpsize
- die Größe der resultierenden Bitmap
- dpi
- Bitmap-Auflösung
- viewpos
- a Punkt in den Modellkoordinaten
- scale
- Ein Wert von 1,0 ist normal; der Wert muss eine positive Zahl sein.
Rückgabe: a BitmapSource
public BitmapSource MakeBitmap()
result = diagramPanel.MakeBitmap()
Generiert eine Bitmap, die die Teile anzeigt, die derzeit im Diagramm sichtbar sind.
Rückgabe: a BitmapSource
public BitmapSource MakeBitmap(Size bmpsize, double dpi, Point viewpos, double scale, Action<BitmapSource> act)
result = diagramPanel.MakeBitmap(bmpsize, dpi, viewpos, scale, act)
Geben Sie eine Bitmap zurück, die die Teile in einem bestimmten Bereich zeigt, die in einem bestimmten Maßstab gezeichnet sind.
- bmpsize
- die Größe der resultierenden Bitmap, auf die nächste ganze Zahl aufgerundet
- dpi
- Bitmap-Auflösung
- viewpos
- a Punkt in Modellkoordinaten für die obere linke Ecke des Bereichs, der gerendert werden soll
- scale
- Ein Wert von 1,0 ist normal; der Wert muss eine positive Zahl sein.
- act
- eine Aktion, bei der BitmapSource später ausgeführt wird; dies kann null sein
Rückgabe: a BitmapSource
public Rect MakeVisible(Visual visual, Rect rectangle)
result = diagramPanel.MakeVisible(visual, rectangle)
Scrollen Sie das Diagramm so, dass sich ein bestimmtes Element () im Viewport befindet. (Implements IScrollInfo.)
- visual
- rectangle
- Dieser Wert ist normalerweise Rect.Empty, was bedeutet, dass so viel des gesamten visuellen Elements in den Viewport passt.
Rückgabe: das Ergebnis des Aufrufs von Rect
protected override Size MeasureOverride(Size availableSize)
result = diagramPanel.MeasureOverride(availableSize)
Messen Sie jede der Schichten in diesem Panel.
- availableSize
public void MouseWheelDown()
diagramPanel.MouseWheelDown()
Erhöht die VerticalOffset um ScrollVerticalLineChange die Anzahl der Zeilen, die für die Mausraddrehung gescrollt werden sollen. (Implementierungen IScrollInfo @ .)
public void MouseWheelLeft()
diagramPanel.MouseWheelLeft()
Verringert das HorizontalOffset um das ScrollHorizontalLineChange mal die Anzahl der Zeilen, die für die Drehung des Mausrades gescrollt werden sollen. (Implementierungen IScrollInfo @ .)
public void MouseWheelRight()
diagramPanel.MouseWheelRight()
Erhöht die HorizontalOffset um ScrollHorizontalLineChange die Anzahl der Zeilen, die für die Mausraddrehung gescrollt werden sollen. (Implementierungen IScrollInfo @ .)
public void MouseWheelUp()
diagramPanel.MouseWheelUp()
Verringert das VerticalOffset um das ScrollVerticalLineChange mal die Anzahl der Zeilen, die für die Drehung des Mausrades gescrollt werden sollen. (Implementierungen IScrollInfo @ .)
protected virtual void OnBoundsAlignmentChanged()
diagramPanel.OnBoundsAlignmentChanged()
Diese überschreibbare Methode wird aufgerufen, wenn sich die Eigenschaften DiagramBounds oder HorizontalContentAlignment oder VerticalContentAlignment oder Stretch ändern.
protected virtual void OnDiagramBoundsChanged(RoutedPropertyChangedEventArgs<Rect> e)
diagramPanel.OnDiagramBoundsChanged(e)
Heben Sie die DiagramBoundsChanged Veranstaltung.
- e
protected override void OnDragEnter(DragEventArgs e)
diagramPanel.OnDragEnter(e)
Behandeln Sie ein DragEnter @ Ereignis.
- e
protected override void OnDragLeave(DragEventArgs e)
diagramPanel.OnDragLeave(e)
Behandeln Sie ein DragLeave @ Ereignis.
- e
protected override void OnDragOver(DragEventArgs e)
diagramPanel.OnDragOver(e)
Behandeln Sie ein DragOver @ Ereignis.
- e
protected override void OnDrop(DragEventArgs e)
diagramPanel.OnDrop(e)
Behandeln Sie ein Drop-Event.
- e
protected override void OnGiveFeedback(GiveFeedbackEventArgs e)
diagramPanel.OnGiveFeedback(e)
Behandeln Sie ein GiveFeedback @ Ereignis.
- e
protected virtual void OnInitialLayoutCompleted()
diagramPanel.OnInitialLayoutCompleted()
Diese überschreibbare Methode wird aufgerufen, nachdem das erste Layout ausgeführt wurde und die DiagramBounds berechnet wurde.
protected virtual void OnLayoutCompleted()
diagramPanel.OnLayoutCompleted()
Diese überschreibbare Methode wird aufgerufen, nachdem jedes Layout ausgeführt wurde und die DiagramBounds berechnet wurde.
protected override void OnLostMouseCapture(MouseEventArgs e)
diagramPanel.OnLostMouseCapture(e)
Behandeln Sie das Ereignis, wenn die Maus-Erfassung verloren geht.
- e
protected override void OnMouseDown(MouseButtonEventArgs e)
diagramPanel.OnMouseDown(e)
Behandeln Sie ein Maus-Down-Event.
- e
protected override void OnMouseEnter(MouseEventArgs e)
diagramPanel.OnMouseEnter(e)
Behandeln Sie ein Maus-Enter-Event.
- e
protected override void OnMouseMove(MouseEventArgs e)
diagramPanel.OnMouseMove(e)
Behandeln Sie ein Maus-Move-Event.
- e
protected override void OnMouseUp(MouseButtonEventArgs e)
diagramPanel.OnMouseUp(e)
Behandeln Sie ein Mouse-Up-Event.
- e
protected override void OnMouseWheel(MouseWheelEventArgs e)
diagramPanel.OnMouseWheel(e)
Behandeln Sie ein Mausrad-Ereignis.
- e
protected virtual void OnPositionChanged(Point oldpos, Point newpos)
diagramPanel.OnPositionChanged(oldpos, newpos)
Diese überschreibbare Methode wird aufgerufen, wenn sich die Position ändert.
- oldpos
- a Punkt in den Modellkoordinaten
- newpos
- a Punkt in den Modellkoordinaten
protected override void OnQueryContinueDrag(QueryContinueDragEventArgs e)
diagramPanel.OnQueryContinueDrag(e)
Behandeln Sie ein QueryContinueDrag @ Ereignis.
- e
protected virtual void OnScaleChanged(double oldscale, double newscale)
diagramPanel.OnScaleChanged(oldscale, newscale)
Diese überschreibbare Methode wird aufgerufen, wenn sich die Skala ändert.
- oldscale
- Doppel
- newscale
- Doppel
protected virtual void OnSizeChanged(Size oldsize, Size newsize)
diagramPanel.OnSizeChanged(oldsize, newsize)
Diese überschreibbare Methode wird aufgerufen, wenn sich die tatsächliche Größe des Panels ändert.
- oldsize
- a Größe in Elementkoordinaten
- newsize
- a Größe in Elementkoordinaten
protected virtual void OnViewportBoundsChanged(RoutedPropertyChangedEventArgs<Rect> e)
diagramPanel.OnViewportBoundsChanged(e)
Heben Sie die ViewportBoundsChanged Veranstaltung.
- e
protected override void OnVisualParentChanged(DependencyObject oldParent)
diagramPanel.OnVisualParentChanged(oldParent)
Jedes DiagramPanel sollte im visuellen Baum eines Diagramms sein.
- oldParent
public void PageDown()
diagramPanel.PageDown()
Erhöht die VerticalOffset von ViewportHeight. (Installationen IScrollInfo @)
public void PageLeft()
diagramPanel.PageLeft()
Verringert die HorizontalOffset von ViewportWidth. (Installationen IScrollInfo @)
public void PageRight()
diagramPanel.PageRight()
Erhöht die HorizontalOffset von ViewportWidth. (Installationen IScrollInfo @)
public void PageUp()
diagramPanel.PageUp()
Verringert die VerticalOffset von ViewportHeight. (Installationen IScrollInfo @)
public void PerformGesture(GestureModifiers modifiers, Gesture action, Point down, Point up, Diagram other)
diagramPanel.PerformGesture(modifiers, action, down, up, other)
Simulieren Sie einige Mausereignisse.
- modifiers
- a GestureModifiers @ Wert, eine Kombination aus Control, Shift und Alt
- action
- a Gestenwert, typischerweise MouseLeftButton; ein Wert von None tut nichts
- down
- Punkt in Modellkoordinaten für das Maus-Down-Ereignis; dieser Wert muss innerhalb des ViewportBounds @ liegen
- up
- Punkt in Modellkoordinaten für das Ereignis Maus nach oben; dieser Wert muss innerhalb des ViewportBounds @ sein
- other
- Wenn dies anders ist als das Diagramm dieses Panels, wird ein simuliertes Drag-and-Drop auftreten. (Dies verwendet kein echtes Windows-Drag-and-Drop in WPF.) Dies kann null sein, um das Diagramm dieses Panels zu verwenden, wodurch die gesamte Geste in diesem einen Diagramm verbleibt.
public void SetHorizontalOffset(double offset)
diagramPanel.SetHorizontalOffset(offset)
Ändern Sie den Wert von HorizontalOffset durch Ändern des Werts von Position. (Implementierungen IScrollInfo @)
- offset
public void SetScaleAndPosition(double newscale, Point newpos, int animationtime, Action act)
diagramPanel.SetScaleAndPosition(newscale, newpos, animationtime, act)
Setzen Sie die Eigenschaften Scale und Position mit Animation.
- newscale
- der neue positive Doppelwert für Scale
- newpos
- der neue Punktwert für Position
- animationtime
- a Zeit in Millisekunden; wenn eine sehr kurze Zeit, keine Animation auftritt und die Eigenschaften einfach eingestellt werden
- act
- a Aktion, die nach Abschluss der Animation ausgeführt werden soll; null, um danach nichts zu tun
public void SetVerticalOffset(double offset)
diagramPanel.SetVerticalOffset(offset)
Ändern Sie den Wert von VerticalOffset durch Ändern des Werts von Position. (Implementierungen IScrollInfo @)
- offset
public void StopAutoScroll()
diagramPanel.StopAutoScroll()
Stoppen Sie jede laufende Auto-Scroll-Aktion.
public Point TransformModelToView(Point p)
result = diagramPanel.TransformModelToView(p)
Konvertieren Sie einen Punkt in Modellkoordinaten in Elementkoordinaten.
- p
public Point TransformViewToModel(Point p)
result = diagramPanel.TransformViewToModel(p)
Konvertieren Sie einen Punkt in Elementkoordinaten in Modellkoordinaten.
- p
public void UpdateDiagramBounds()
diagramPanel.UpdateDiagramBounds()
Fordern Sie an, dass der DiagramBounds @ aktualisiert wird, mit einem Aufruf an ComputeDiagramBounds.
public void ZoomToFit()
diagramPanel.ZoomToFit()
Ändern Sie die Skala, so dass alles in der DiagramBounds passt in den Viewport.
public void ZoomToFit(StretchPolicy policy, Action afterwards)
diagramPanel.ZoomToFit(policy, afterwards)
Ändern Sie die Skala, so dass alles in der DiagramBounds passt in den Viewport.
- policy
- Normalerweise ist es ein Wert von Uniform, aber es kann UniformToFill sein
- afterwards
- eine Aktion, die nach Abschluss der Animation ausgeführt werden soll; kann null sein
Ereignisse
public event RoutedPropertyChangedEventHandler<Rect> DiagramBoundsChanged
diagramPanel.DiagramBoundsChanged += handler
Dieses Ereignis tritt auf, wenn sich die Grenzen oder die Ausrichtung des Diagramms ändern.
public event RoutedPropertyChangedEventHandler<Rect> ViewportBoundsChanged
diagramPanel.ViewportBoundsChanged += handler
Dieses Ereignis tritt auf, wenn sich der Viewport ändert.
Felder
public static readonly DependencyProperty AutoScrollDelayProperty
value = DiagramPanel.AutoScrollDelayProperty
Identifiziert die Abhängigkeitseigenschaft AutoScrollDelay.
public static readonly DependencyProperty AutoScrollRegionProperty
value = DiagramPanel.AutoScrollRegionProperty
Identifiziert die Abhängigkeitseigenschaft AutoScrollRegion.
public static readonly DependencyProperty AutoScrollTimeProperty
value = DiagramPanel.AutoScrollTimeProperty
Identifiziert die Abhängigkeitseigenschaft AutoScrollTime.
public static readonly DependencyProperty CanHorizontallyScrollProperty
value = DiagramPanel.CanHorizontallyScrollProperty
Identifiziert die Abhängigkeitseigenschaft CanHorizontallyScroll.
public static readonly DependencyProperty CanVerticallyScrollProperty
value = DiagramPanel.CanVerticallyScrollProperty
Identifiziert die Abhängigkeitseigenschaft CanVerticallyScroll.
public static readonly RoutedEvent DiagramBoundsChangedEvent
value = DiagramPanel.DiagramBoundsChangedEvent
Identifiziert das DiagramBoundsChangedgeroutete Ereignis.
public static readonly DependencyProperty DiagramBoundsProperty
value = DiagramPanel.DiagramBoundsProperty
Identifiziert die Abhängigkeitseigenschaft DiagramBounds.
public static readonly DependencyProperty FixedBoundsProperty
value = DiagramPanel.FixedBoundsProperty
Identifiziert die Abhängigkeitseigenschaft FixedBounds.
public static readonly DependencyProperty HorizontalContentAlignmentProperty
value = DiagramPanel.HorizontalContentAlignmentProperty
Identifiziert die Abhängigkeitseigenschaft HorizontalContentAlignment.
public static readonly DependencyProperty MaximumScaleProperty
value = DiagramPanel.MaximumScaleProperty
Identifiziert die Abhängigkeitseigenschaft MaximumScale.
public static readonly DependencyProperty MinimumScaleProperty
value = DiagramPanel.MinimumScaleProperty
Identifiziert die Abhängigkeitseigenschaft MinimumScale.
public static readonly DependencyProperty PaddingProperty
value = DiagramPanel.PaddingProperty
Bestimmt die Padding Dependency-Eigenschaft.
public static readonly DependencyProperty PositionProperty
value = DiagramPanel.PositionProperty
Bestimmt die Positionsabhängigkeitseigenschaft.
public static readonly DependencyProperty ScaleProperty
value = DiagramPanel.ScaleProperty
Bestimmt die Scale Dependency Eigenschaft.
public static readonly DependencyProperty ScrollHorizontalLineChangeProperty
value = DiagramPanel.ScrollHorizontalLineChangeProperty
Identifiziert die Abhängigkeitseigenschaft ScrollHorizontalLineChange.
public static readonly DependencyProperty ScrollOwnerProperty
value = DiagramPanel.ScrollOwnerProperty
Identifiziert die Abhängigkeitseigenschaft ScrollOwner.
public static readonly DependencyProperty ScrollVerticalLineChangeProperty
value = DiagramPanel.ScrollVerticalLineChangeProperty
Identifiziert die Abhängigkeitseigenschaft ScrollVerticalLineChange.
public static readonly DependencyProperty StretchProperty
value = DiagramPanel.StretchProperty
Bestimmt die Stretch Dependency-Eigenschaft.
public static readonly DependencyProperty VerticalContentAlignmentProperty
value = DiagramPanel.VerticalContentAlignmentProperty
Identifiziert die Abhängigkeitseigenschaft VerticalContentAlignment.
public static readonly RoutedEvent ViewportBoundsChangedEvent
value = DiagramPanel.ViewportBoundsChangedEvent
Identifiziert das ViewportBoundsChangedgeroutete Ereignis.
public static readonly DependencyProperty ZoomPointProperty
value = DiagramPanel.ZoomPointProperty
Identifiziert die Abhängigkeitseigenschaft ZoomPoint.
public static readonly DependencyProperty ZoomTimeProperty
value = DiagramPanel.ZoomTimeProperty
Identifiziert die Abhängigkeitseigenschaft ZoomTime.