Freigeben über


SurfaceImageSource Klasse

Definition

Stellt freigegebene Microsoft DirectX-Oberflächen zum Zeichnen bereit und komponiert die Bits dann in App-Inhalten.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SurfaceImageSource : ImageSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SurfaceImageSource : ImageSource
Public Class SurfaceImageSource
Inherits ImageSource
Vererbung
Object IInspectable DependencyObject ImageSource SurfaceImageSource
Abgeleitet
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Hinweise

Diese Klasse ist ein Anzeigebereich für die Microsoft DirectX-Interoperabilität, in dem Microsoft DirectX-Inhalte innerhalb einer ansonsten XAML-zusammengestellten Benutzeroberfläche zeichnen können. Eine Überlegung für eine SurfaceImageSource ist, dass der Renderingzyklus weiterhin XAML-zentriert ist, obwohl es den Microsoft DirectX-Inhalt integrieren kann. Zu viele Microsoft DirectX-Ziehungen in diesem Rendermodell können zu Latenz oder schlechter Reaktionsfähigkeit führen. Wenn Sie eine hohe Anzahl von Redraws für Ihre Microsoft DirectX-Inhalte erwarten und diesen Inhalt im Vollbildmodus ohne umgebende XAML-Benutzeroberfläche anzeigen möchten, sollten Sie stattdessen die SwapChainBackgroundPanel-Technik verwenden. Eine andere Alternative für Nicht-Vollbildinhalte ist das Rendern auf einer separaten Scratch-Oberfläche in einem Hintergrundthread, und kopieren Sie dann den Inhalt auf die Oberfläche, die von BeginDraw im UI-Thread zurückgegeben wird. Dies kann die Blockierung des UI-Threads auf Kosten einer höheren Arbeitsspeicherauslastung aufheben.

Weitere Informationen zum Zeichnen auf eine SurfaceImageSource, einschließlich Beispielcode, finden Sie unter DirectX- und XAML-Interop.

Diese Klasse verfügt über eine zusätzliche API, aber diese API dient der Microsoft DirectX-Interoperation und sind nicht Teil des allgemeinen App-Programmiermodells, das sonst in dieser Dokumentation beschrieben wird. Beispielsweise können Sie auf der Seite von Microsoft DirectX BeginDraw aufrufen.

Von SurfaceImageSource abgeleitete Klassen

SurfaceImageSource ist die übergeordnete Klasse für VirtualSurfaceImageSource.

Konstruktoren

SurfaceImageSource(Int32, Int32)

Initialisiert eine neue instance der SurfaceImageSource-Klasse und gibt die Größe des Zeichenbereichs an.

SurfaceImageSource(Int32, Int32, Boolean)

Initialisiert eine neue instance der SurfaceImageSource-Klasse und gibt die Größe des Zeichenbereichs an und gibt an, ob die Deckkraft immer volle Deckkraft aufweisen soll. Verwenden Sie dies mit isOpaque=true , wenn SurfaceImageSource keine Transparenz unterstützen soll. Dies kann die Leistung erhöhen.

Eigenschaften

Dispatcher

Ruft den CoreDispatcher ab, dem dieses Objekt zugeordnet ist. CoreDispatcher stellt eine Funktion dar, die auf das DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen