Язык

CompositionTarget.Rendering Событие

Определение

Происходит, когда основной процесс отрисовки отрисовывает кадр.

// Register
static event_token Rendering(EventHandler<IInspectable> const& handler) const;

// Revoke with event_token
static void Rendering(event_token const* cookie) const;

// Revoke with event_revoker
static CompositionTarget::Rendering_revoker Rendering(auto_revoke_t, EventHandler<IInspectable> const& handler) const;
public static event System.EventHandler<object> Rendering;
function onRendering(eventArgs) { /* Your code */ }
Microsoft.UI.Xaml.Media.CompositionTarget.addEventListener("rendering", onRendering);
Microsoft.UI.Xaml.Media.CompositionTarget.removeEventListener("rendering", onRendering);
- or -
Microsoft.UI.Xaml.Media.CompositionTarget.onrendering = onRendering;
Public Shared Custom Event Rendering As EventHandler(Of Object) 

Тип события

Комментарии

Обработка отрисовки может быть полезной, если у вас есть сценарии взаимодействия с содержимым Microsoft DirectX. Например, вам может потребоваться знать, когда платформа XAML отображает кадр и синхронизирует его с созданным с Microsoft содержимым DirectX в БуфереChainPanel или SurfaceImageSource, чтобы визуальные обновления отображались на экране одновременно. Дополнительные сведения см. в разделе Взаимодействия DirectX и XAML.

Для удовлетворения компилятора второй параметрergs/ обработчика для события отрисовки должен иметь значение Object. Не используйте EventArgs. Однако в обработчике можно привести ссылку наergs/ как RenderingEventArgs. RenderingEventArgs имеет одно свойство, RenderingTime, которое может оказаться полезным в сценарии отрисовки, но не все обработчики должны иметь эти сведения. Это может быть достаточно, чтобы знать, что событие запускается и обрабатывает каждое вхождение.

Обработчики для отрисовки выполняются в потоке пользовательского интерфейса, даже если они не привязаны к определенному элементу пользовательского интерфейса. Это похоже на выполнение бесконечной анимации. Обычно поток пользовательского интерфейса активен только при выполнении работы, но добавление обработчика для этого события заставляет его запускать каждый кадр, который может предотвратить оптимизацию использования системы. Поэтому рекомендуется удалить все обработчики отрисовки, если они больше не нужны, и добавить их только в том случае, если они нужны. Например, добавьте обработчик только при загрузке определенных страниц с синхронизированным содержимым DirectX, а затем удалите обработчик в рамках очистки страницы (Page.OnNavigatedFrom). Дополнительные сведения см. в разделе "Использование бесконечных анимаций" в руководстве по производительности.

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

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