共用方式為


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 為中心的。 此轉譯模型中的 DirectX 繪製太多Microsoft可能會導致延遲或回應性不佳。 如果您預期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, Boolean)

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

SurfaceImageSource(Int32, Int32)

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

屬性

Dispatcher

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

(繼承來源 DependencyObject)
DispatcherQueue

取得與這個對象相關聯的 DispatcherQueueDispatcherQueue 代表可以存取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)

適用於

另請參閱