共用方式為


SurfaceImageSource 類別

定義

提供 Microsoft DirectX 共用介面以繪製到 ,然後將位組成應用程式內容。

/// [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
繼承
Object IInspectable DependencyObject ImageSource SurfaceImageSource
衍生
屬性

備註

這個類別是 Microsoft DirectX 交互操作的顯示區域,Microsoft DirectX 內容可以在其他 XAML 撰寫的 UI 內繪製。 SurfaceImageSource 的其中一個考慮是,雖然它可以納入 Microsoft DirectX 內容,但轉譯週期仍是以 XAML 為中心的。 此轉譯模型中太多 Microsoft DirectX 繪製可能會導致延遲或回應不佳。 如果您預期 Microsoft DirectX 內容有大量重繪,而且您想要以全螢幕顯示該內容,而不需要任何周圍的 XAML UI,您可能應該改用 SwapChainBackgroundPanel 技術。 非全螢幕內容的另一個替代方法是將它轉譯為背景執行緒上的個別臨時表面,然後將其內容複寫到 UI 執行緒上從 BeginDraw 傳回的介面。 這可能會以較高的記憶體使用量來解除封鎖 UI 執行緒。

如需如何繪製至 SurfaceImageSource 的詳細資訊,包括範例程式碼,請參閱 DirectX 和 XAML Interop

此類別具有額外的 API,但這些 API 適用于 Microsoft DirectX 交互操作,但不屬於本檔中所述的一般應用程式程式設計模型。 例如,您可以從 Microsoft DirectX 端呼叫 BeginDraw

SurfaceImageSource 衍生類別

SurfaceImageSource 是 VirtualSurfaceImageSource的父類別。

建構函式

SurfaceImageSource(Int32, Int32)

初始化 SurfaceImageSource 類別的新實例,並指定繪圖區的大小。

SurfaceImageSource(Int32, Int32, Boolean)

初始化 SurfaceImageSource 類別的新實例、指定繪圖區的大小,以及是否預期不透明度一律為完整不透明度。 如果SurfaceImageSource不應該支援透明度,請使用此選項; isOpaque=true 這可能會提高效能。

屬性

Dispatcher

一律會在Windows 應用程式 SDK應用程式中傳 null 回。 請改用 DispatcherQueue

(繼承來源 DependencyObject)
DispatcherQueue

DispatcherQueue取得與這個 物件相關聯的 。 DispatcherQueue表示即使程式碼是由非 UI 執行緒起始,也可以存取 DependencyObject UI 執行緒上的 設備。

(繼承來源 DependencyObject)

方法

ClearValue(DependencyProperty)

清除相依性屬性的本機值。

(繼承來源 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

傳回為相依性屬性建立的任何基底值,如果動畫未使用中,則適用此屬性。

(繼承來源 DependencyObject)
GetValue(DependencyProperty)

DependencyObject傳回相依性屬性的目前有效值。

(繼承來源 DependencyObject)
ReadLocalValue(DependencyProperty)

如果已設定本機值,則傳回相依性屬性的本機值。

(繼承來源 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

註冊通知函式,以接聽此DependencyObject實例上特定DependencyProperty的變更。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)

設定 DependencyObject上相依性屬性的本機值。

(繼承來源 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消先前透過呼叫 RegisterPropertyChangedCallback註冊的變更通知。

(繼承來源 DependencyObject)

適用於

另請參閱