語言

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 介面,建議改用 SwapChainBackgroundPanel 技術。 另一種非全螢幕內容的替代方案是先渲染到背景執行緒的獨立草圖表面,然後將其內容複製到從 UI 執行緒中 BeginDraw 回傳的表面。 這可能會解除 UI 執行緒的阻塞,但代價是記憶體使用量增加。

關於如何繪製到 SurfaceImageSource 的更多資訊,包括範例程式碼,請參見 DirectX 與 XAML 互操作。

此類別有額外的 API,但這些 API 是用於 Microsoft DirectX 互通,並非本文件中其他描述的一般應用程式程式設計模型的一部分。 例如,從 Microsoft DirectX 端,你可以呼叫 BeginDraw。

SurfaceImageSource 衍生類別

SurfaceImageSource 是 VirtualSurfaceImageSource 的父類別。

建構函式

名稱 Description
SurfaceImageSource(Int32, Int32, Boolean)

初始化 SurfaceImageSource 類別的新實例,指定繪圖區域大小,以及不透明度是否預期永遠為全不透明度。 如果 SurfaceImageSource 不應該支援透明度,請使用此isOpaque=true方法;這可以提升效能。

SurfaceImageSource(Int32, Int32)

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

屬性

名稱 Description
Dispatcher

它總是在 Windows 應用程式 SDK 應用程式中回傳 null 。 改用 DispatcherQueue 。

(繼承來源 DependencyObject)
DispatcherQueue

得到 DispatcherQueue 這個物件所關聯的那個。 代表 DispatcherQueue 一個功能,即使程式碼是由非 UI 執行緒發起,也能存取 UI DependencyObject 執行緒。

(繼承來源 DependencyObject)

方法

名稱 Description
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)

適用於

另請參閱