Freigeben über


SurfaceImageSource Klasse

Definition

Stellt gemeinsam genutzte Microsoft DirectX-Oberflächen zum Zeichnen bereit und erstellt dann die Bits in App-Inhalte.

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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

Hinweise

Diese Klasse ist ein Anzeigebereich für die Microsoft DirectX-Interoperabilität, in dem Microsoft DirectX-Inhalte in einer anderen XAML-zusammengesetzten Benutzeroberfläche zeichnen können. Eine Überlegung für eine SurfaceImageSource besteht darin, dass der Renderingzyklus zwar den Microsoft DirectX-Inhalt integrieren kann, aber dennoch XAML-zentriert ist. Zu viele Microsoft DirectX zeichnet in diesem Rendermodell kann zu Latenz oder schlechter Reaktionsfähigkeit führen. Wenn Sie eine hohe Anzahl von Neurastvorgängen für Ihre Microsoft DirectX-Inhalte antizipieren und diesen Inhalt ohne umgebende XAML-Benutzeroberfläche im Vollbildmodus anzeigen möchten, sollten Sie wahrscheinlich stattdessen die SwapChainBackgroundPanel- Technik verwenden. Eine weitere Alternative für Nicht-Vollbildinhalte besteht darin, auf einer separaten Entwurfsoberfläche in einem Hintergrundthread zu rendern und dann den Inhalt auf die Oberfläche zu kopieren, die von BeginDraw im UI-Thread zurückgegeben wird. Dadurch kann die Blockierung des UI-Threads auf Kosten einer höheren Speicherauslastung aufgehoben werden.

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

Diese Klasse verfügt über zusätzliche API, diese API ist jedoch für die Microsoft DirectX-Interoperabilität vorgesehen und nicht Teil des allgemeinen App-Programmiermodells, das andernfalls in dieser Dokumentation beschrieben wird. Beispielsweise können Sie auf der Microsoft DirectX-Seite BeginDrawaufrufen.

abgeleiteten Klassen von SurfaceImageSource

SurfaceImageSource ist die übergeordnete Klasse für VirtualSurfaceImageSource.

Konstruktoren

SurfaceImageSource(Int32, Int32, Boolean)

Initialisiert eine neue Instanz der SurfaceImageSource Klasse, die die Größe des Zeichnungsbereichs angibt und ob die Deckkraft voraussichtlich immer voll ist. Verwenden Sie dies mit isOpaque=true, wenn SurfaceImageSource- keine Transparenz unterstützen sollte; dies kann die Leistung erhöhen.

SurfaceImageSource(Int32, Int32)

Initialisiert eine neue Instanz der SurfaceImageSource Klasse, die die Größe des Zeichnungsbereichs angibt.

Eigenschaften

Dispatcher

Gibt immer null in einer Windows App SDK-App zurück. Verwenden Sie stattdessen DispatcherQueue.

(Geerbt von DependencyObject)
DispatcherQueue

Ruft den DispatcherQueue ab, dem dieses Objekt zugeordnet ist. Die DispatcherQueue stellt eine Einrichtung dar, die auf die 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 Basiswert zurück, der für eine Abhängigkeitseigenschaft eingerichtet wurde, was in Fällen angewendet wird, 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 wird.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion, um Änderungen an einer bestimmten DependencyProperty- für diese DependencyObject-Instanz zu überwachen.

(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 durch Aufrufen RegisterPropertyChangedCallback-registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen