Поделиться через


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. Одним из соображений surfaceImageSource является то, что хотя он может включать содержимое Microsoft DirectX, цикл отрисовки по-прежнему ориентирован на XAML. Слишком много рисования Microsoft DirectX в этой модели отрисовки может привести к задержке или низкой скорости реагирования. Если вы ожидаете большое количество перерисовок для содержимого Microsoft DirectX, и вы планируете отобразить это содержимое в полноэкранном режиме без какого-либо пользовательского интерфейса XAML, то вместо этого следует использовать метод SwapChainBackgroundPanel. Другой альтернативой для содержимого, отличного от полноэкранного экрана, является отрисовка отдельной поверхности царапин на фоновом потоке, а затем скопируйте его содержимое на поверхность, возвращенную из BeginDraw в потоке пользовательского интерфейса. Это может разблокировать поток пользовательского интерфейса за счет более высокого использования памяти.

Дополнительные сведения о рисовании в SurfaceImageSource, включая пример кода, см. в DirectX ивзаимодействия XAML.

Этот класс имеет дополнительный API, но эти API предназначены для взаимодействия Microsoft DirectX и не являются частью общей модели программирования приложений в противном случае, описанной в этой документации. Например, с стороны Microsoft DirectX можно вызвать BeginDraw.

производные классы SurfaceImageSource

SurfaceImageSource — это родительский класс для VirtualSurfaceImageSource.

Конструкторы

SurfaceImageSource(Int32, Int32, Boolean)

Инициализирует новый экземпляр класса SurfaceImageSource, указывая размер области рисования и, как ожидается, прозрачность всегда будет полной. Используйте это с isOpaque=true, если SurfaceImageSource не должно поддерживать прозрачность; это может повысить производительность.

SurfaceImageSource(Int32, Int32)

Инициализирует новый экземпляр класса SurfaceImageSource, указав размер области рисования.

Свойства

Dispatcher

Всегда возвращает null в приложении пакета SDK для приложений windows. Вместо этого используйте DispatcherQueue.

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает DispatcherQueue, с которым связан этот объект. DispatcherQueue представляет собой объект, который может получить доступ к DependencyObject в потоке пользовательского интерфейса, даже если код инициируется потоком, отличным от пользовательского интерфейса.

(Унаследовано от DependencyObject)

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое будет применяться в случаях, когда анимация не активна.

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее эффективное значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомлений для прослушивания изменений в определенном экземпляре DependencyProperty в этом экземпляре DependencyObj ect.

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей в DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменении, которое было зарегистрировано ранее путем вызова RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

Применяется к

См. также раздел