SurfaceImageSource 类

定义

提供用于绘制的 Microsoft DirectX 共享图面,然后将位组合到应用内容中。

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 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
派生
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

此类是 Microsoft DirectX 互操作的显示区域,通过该区域,Microsoft DirectX 内容可以在其他 XAML 组成的 UI 中绘制。 SurfaceImageSource 的一个考虑因素是,尽管它可以合并 Microsoft DirectX 内容,但呈现周期仍以 XAML 为中心。 此呈现模型中的 Microsoft DirectX 绘制过多可能会导致延迟或响应能力不佳。 如果预计 Microsoft DirectX 内容会进行大量重绘,并且打算在没有任何周围的 XAML UI 的情况下全屏显示该内容,则可能应改用 SwapChainBackgroundPanel 技术。 非全屏内容的另一种替代方法是在后台线程上呈现到单独的暂存图面,然后将其内容复制到 UI 线程上的 BeginDraw 返回的图面。 这可以取消阻止 UI 线程,但代价是内存使用率较高。

有关如何绘制到 SurfaceImageSource(包括示例代码)的详细信息,请参阅 DirectX 和 XAML 互操作

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

SurfaceImageSource 派生类

SurfaceImageSource 是 VirtualSurfaceImageSource 的父类。

构造函数

SurfaceImageSource(Int32, Int32)

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

SurfaceImageSource(Int32, Int32, Boolean)

初始化 SurfaceImageSource 类的新实例,指定绘图区域的大小,以及不透明度是否应始终为完全不透明度。 如果 SurfaceImageSource 不应支持透明度,则将此与 结合使用isOpaque=true;这可以提高性能。

属性

Dispatcher

获取与此对象关联的 CoreDispatcherCoreDispatcher 表示可以访问 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)

适用于

另请参阅