SurfaceImageSource Klasse

Definition

Stellt Microsoft gemeinsam genutzten DirectX-Oberflächen bereit, in die gezeichnet und dann die Bits in App-Inhalte erstellt werden.

/// [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 Microsoft DirectX-Interoperabilität, wobei Microsoft DirectX-Inhalt in einer anderen XAML-zusammengesetzten Benutzeroberfläche zeichnen kann. Eine Überlegung für eine SurfaceImageSource besteht darin, dass während sie den Microsoft DirectX-Inhalt integrieren kann, der Renderingzyklus immer noch XAML-zentriert ist. Zu viele Microsoft DirectX in diesem Rendermodell zeichnet, kann zu Latenz oder schlechter Reaktionsfähigkeit führen. Wenn Sie eine hohe Anzahl von Neurastvorgängen für Ihren Microsoft DirectX-Inhalt antizipieren und diesen Inhalt ohne umgebende XAML-Benutzeroberfläche anzeigen möchten, sollten Sie 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 Microsoft DirectX-Interoperabilität vorgesehen und nicht Teil des allgemeinen App-Programmiermodells, das andernfalls in dieser Dokumentation beschrieben wird. Beispielsweise können Sie "BeginDraw" von der Microsoft DirectX-Seite aufrufen.

Abgeleitete SurfaceImageSource-Klassen

SurfaceImageSource ist die übergeordnete Klasse für VirtualSurfaceImageSource.

Konstruktoren

Name Beschreibung
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, isOpaque=true wenn SurfaceImageSource keine Transparenz unterstützen soll. Dies kann die Leistung erhöhen.

SurfaceImageSource(Int32, Int32)

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

Eigenschaften

Name Beschreibung
Dispatcher

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

(Geerbt von DependencyObject)
DispatcherQueue

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

(Geerbt von DependencyObject)

Methoden

Name Beschreibung
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 von RegisterPropertyChangedCallback registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen