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 为中心。 此呈现模型中的 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 不应支持透明度,则将此与 结合使用 |
属性
Dispatcher |
始终在Windows 应用 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) |