RenderSurfaceBase
Eine abstrakte Basisklasse für RenderSurface, ein Viewport, der innerhalb der Rendering BaseRenderableSeries-Typen schnell verwendet wird. Die Renderer-Architektur ist Plugin-basiert, was bedeutet, dass wir mehrere Implementierungen von RenderSurfaceBase erstellt haben.
Erbt von: ContentControl
Implementiert: IRenderSurface2D, IRenderSurface, IDisposable, IHitTestable, IInvalidatableElement
Konstruktoren
protected RenderSurfaceBase()
renderSurfaceBase = RenderSurfaceBase()
Initialisiert eine neue Instanz der RenderSurfaceBase Klasse.
Eigenschaften
public ReadOnlyCollection<IRenderableSeries> ChildSeries { get; }
value = renderSurfaceBase.ChildSeries
Bekommt das Kind RenderableSeries @ in dieser IRenderSurface2D Instanz
public Grid Grid { get; }
value = renderSurfaceBase.Grid
Holt sich das Wurzelelement Grid, das Komponenten im RenderSurfaceBase @ hostet
public virtual bool IsSizeValidForDrawing { get; }
value = renderSurfaceBase.IsSizeValidForDrawing
Gibt true zurück, wenn die Größe RenderSurfaceBase zum Zeichnen gültig ist
public double? MaxFrameRate { get; set; }
value = renderSurfaceBase.MaxFrameRate
renderSurfaceBase.MaxFrameRate = value
Bekommt oder setzt den maximalen Framerate dieses RenderSurface. Standardmäßig ist dies an den Elternteil UltrachartSurface.MaxFrameRate gebunden
public virtual bool NeedsResizing { get; }
value = renderSurfaceBase.NeedsResizing
Gibt True zurück, wenn sich die Größe von RenderSurfaceBase geändert hat und der Viewport die Größe ändern muss
public int ResizeThrottleMs { get; set; }
value = renderSurfaceBase.ResizeThrottleMs
renderSurfaceBase.ResizeThrottleMs = value
Wird ein Timeout für die Größenänderung eingestellt, e.g. 100ms bedeutet, dass RenderSurface alle empfangenen Größenänderungsereignisse innerhalb eines 100ms Fensters stapelt. Dies reduziert die CPU-Auslastung bei Größenänderung.
public IServiceContainer Services { get; set; }
value = renderSurfaceBase.Services
renderSurfaceBase.Services = value
Bekommt oder setzt die IServiceContainer Instanz
public bool UseResizeThrottle { get; set; }
value = renderSurfaceBase.UseResizeThrottle
renderSurfaceBase.UseResizeThrottle = value
Wenn dies der Fall ist, verwendet der Wert ResizeThrottleMs, um Größenänderungen Ereignisse, die innerhalb eines bestimmten Zeitfensters empfangen wurden, zu stapeln, wodurch die CPU-Last bei Größenänderungen reduziert wird.
Methoden
public void AddSeries(IRenderableSeries renderableSeries)
renderSurfaceBase.AddSeries(renderableSeries)
Fügt die IRenderableSeries-Instanz zu RenderSurfaceBase hinzu
- renderableSeries
- Die renderbare Serie.
public void AddSeries(IEnumerable<IRenderableSeries> renderableSeries)
renderSurfaceBase.AddSeries(renderableSeries)
Fügt die IRenderableSeries-Instanz zu IRenderSurface2D hinzu
- renderableSeries
public virtual void ClearSeries()
renderSurfaceBase.ClearSeries()
Löscht alle IRenderableSeries RenderSurfaceBase
public bool ContainsSeries(IRenderableSeries renderableSeries)
result = renderSurfaceBase.ContainsSeries(renderableSeries)
Gibt True zurück, wenn RenderSurfaceBase die IRenderableSeriesInstanz enthält
- renderableSeries
- Die IRenderableSeries Instanz
Rückgabe: Wenn die angegebene Wiedergabereihe eine Reihe enthält, ist dies wahr; andernfalls ist dies falsch.
public void Dispose(bool disposing)
renderSurfaceBase.Dispose(disposing)
Releases nicht verwalteter und - optional - verwalteter Ressourcen.
- disposing
- true to release sowohl verwaltete als auch nicht verwaltete Ressourcen; false to release only unmanaged resources.
public void Dispose()
renderSurfaceBase.Dispose()
Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verbunden sind.
protected virtual void DisposeUnmanagedResources()
renderSurfaceBase.DisposeUnmanagedResources()
Abgeleitete Klassen können diese Methode außer Kraft setzen, um benachrichtigt zu werden, wenn sie nicht verwaltete Ressourcen entsorgen.
protected override void Finalize()
renderSurfaceBase.Finalize()
Finalisiert eine Instanz der RenderSurfaceBase Klasse.
public Rect GetBoundsRelativeTo(IHitTestable relativeTo)
result = renderSurfaceBase.GetBoundsRelativeTo(relativeTo)
Bekommt die Grenzen des aktuellen IHitTestable @ Elements relativ zu einem anderen IHitTestable @ Element
- relativeTo
public abstract IRenderContext2D GetRenderContext()
result = renderSurfaceBase.GetRenderContext()
Wenn in einer abgeleiteten Klasse überschrieben, gibt ein RenderContext gültig für den aktuellen Render-Pass
public static string GetRenderSurfaceType(UIElement element)
result = RenderSurfaceBase.GetRenderSurfaceType(element)
Bekommt die RenderSurfaceType angehängte Eigenschaft
- element
- Das Element.
public void InvalidateElement()
renderSurfaceBase.InvalidateElement()
Ungültig macht RenderSurface, wodurch ein Repaint auftritt
public bool IsPointWithinBounds(Point point)
result = renderSurfaceBase.IsPointWithinBounds(point)
Gibt true zurück, wenn der Punkt innerhalb der Grenzen des aktuellen IHitTestable-Elements liegt
- point
- Der Punkt zum Testen
Rückgabe: Wahr, wenn der Punkt innerhalb der Grenzen liegt
protected virtual void OnDraw()
renderSurfaceBase.OnDraw()
Erhebt das Draw-Ereignis, das der Renderoperation vorausgeht
protected virtual void OnRendered(double duration)
renderSurfaceBase.OnRendered(duration)
Hebt das Rendered Event mit der angegebenen Dauer auf
- duration
- Die Dauer.
protected virtual void OnRenderSurfaceBaseLoaded(object sender, RoutedEventArgs e)
renderSurfaceBase.OnRenderSurfaceBaseLoaded(sender, e)
Aufrufen, wenn RenderSurfaceBase in den visuellen Baum geladen wird
- sender
- Der Absender.
- e
- Die RoutedEventArgsInstanz, die die Ereignisdaten enthält.
protected virtual void OnRenderSurfaceBaseUnloaded(object sender, RoutedEventArgs e)
renderSurfaceBase.OnRenderSurfaceBaseUnloaded(sender, e)
Aufrufen, wenn RenderSurfaceBase aus dem visuellen Baum geladen wird
- sender
- Der Absender.
- e
- Die RoutedEventArgsInstanz, die die Ereignisdaten enthält.
protected virtual void OnRenderTimeElapsed()
renderSurfaceBase.OnRenderTimeElapsed()
Aufrufen, wenn das Rendering-Ereignis ausgelöst wird
protected void PublishResizedMessage(int width, int height)
renderSurfaceBase.PublishResizedMessage(width, height)
Veröffentlicht RenderSurfaceResizedMessage mit der tatsächlichen Viewport-Größe
- width
- height
public virtual void RecreateSurface()
renderSurfaceBase.RecreateSurface()
Erstellt die vom Viewport benötigten Elemente, die beim Start und bei der Größenveränderung der Oberfläche einmal aufgerufen werden
public void RemoveSeries(IRenderableSeries renderableSeries)
renderSurfaceBase.RemoveSeries(renderableSeries)
Entfernt IRenderableSeries aus RenderSurfaceBase
- renderableSeries
- Die renderbare Serie.
public static void SetRenderSurfaceType(UIElement element, string value)
RenderSurfaceBase.SetRenderSurfaceType(element, value)
Legt die RenderSurfaceType angehängte Eigenschaft fest
- element
- Das Element.
- value
- Der Wert.
public Point TranslatePoint(Point point, IHitTestable relativeTo)
result = renderSurfaceBase.TranslatePoint(point, relativeTo)
Übersetzt den Punkt relativ zum anderen IHitTestable @ Element
- point
- Der Eingabepunkt relativ zu diesem IHitTestable
- relativeTo
- Die andere IHitTestable @ zu verwenden, wenn Sie den Punkt zu transformieren
Rückgabe: Der transformierte Punkt
Ereignisse
public event EventHandler<DrawEventArgs> Draw
renderSurfaceBase.Draw += handler
Jedes Mal, wenn die Renderfläche gezeichnet werden soll, angehoben; dieses Ereignis behandeln, um an die Oberfläche zu malen
public event EventHandler<RenderedEventArgs> Rendered
renderSurfaceBase.Rendered += handler
Sofort nach Abschluss einer Renderoperation erhöht
Felder
public static readonly DependencyProperty MaxFrameRateProperty
value = RenderSurfaceBase.MaxFrameRateProperty
Definiert die MaxFrameRateDependencyProperty
public static readonly DependencyProperty RenderSurfaceTypeProperty
value = RenderSurfaceBase.RenderSurfaceTypeProperty
Definiert die RenderSurfaceType angehängte Eigenschaft
public static readonly DependencyProperty ResizeThrottleMsProperty
value = RenderSurfaceBase.ResizeThrottleMsProperty
Definiert die ResizeThrottleMsDependencyProperty
public static readonly DependencyProperty UseResizeThrottleProperty
value = RenderSurfaceBase.UseResizeThrottleProperty
Definiert die UseResizeThrottleDependencyProperty