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 互操作

此类具有其他 API,但这些 API 用于 Microsoft DirectX 互操作,不属于本文档中所述的常规应用编程模型。 例如,从 Microsoft DirectX 端,可以调用 BeginDraw

SurfaceImageSource 派生类

SurfaceImageSource 是 VirtualSurfaceImageSource的父类。

构造函数

SurfaceImageSource(Int32, Int32, Boolean)

初始化 SurfaceImageSource 类的新实例,指定绘图区的大小以及是否应始终不透明度。 如果 SurfaceImageSource 不应支持透明度,请与 isOpaque=true 一起使用;这可以提高性能。

SurfaceImageSource(Int32, Int32)

初始化 SurfaceImageSource 类的新实例,并指定绘图区的大小。

属性

Dispatcher

始终在 Windows 应用 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)

适用于

另请参阅