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
- Наследование
- Производный
- Атрибуты
Комментарии
Этот класс является областью отображения для взаимодействия 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) |
Инициализирует новый экземпляр класса SurfaceImageSource , задав размер области рисования. |
SurfaceImageSource(Int32, Int32, Boolean) |
Инициализирует новый экземпляр класса SurfaceImageSource , указывая размер области рисования и указывает, должна ли непрозрачность всегда быть полной. Используйте его с |
Свойства
Dispatcher |
Всегда возвращается |
DispatcherQueue |
Возвращает объект , |
Методы
ClearValue(DependencyProperty) |
Очищает локальное значение свойства зависимостей. (Унаследовано от DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна. (Унаследовано от DependencyObject) |
GetValue(DependencyProperty) |
Возвращает текущее действующее значение свойства зависимостей из DependencyObject. (Унаследовано от DependencyObject) |
ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если задано локальное значение. (Унаследовано от DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject . (Унаследовано от DependencyObject) |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей для Объекта DependencyObject. (Унаследовано от DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback. (Унаследовано от DependencyObject) |