SurfaceImageSource 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供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
- 繼承
- 衍生
- 屬性
備註
這個類別是 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 不應支持透明度,請搭配 |
SurfaceImageSource(Int32, Int32) |
初始化 SurfaceImageSource 類別的新實例,並指定繪圖區的大小。 |
屬性
Dispatcher |
一律會在 Windows App SDK 應用程式中傳回 |
DispatcherQueue |
取得與這個對象相關聯的 |
方法
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) |