CompositionTarget.Rendering 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發生于核心轉譯程式呈現框架時。
// 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 */ }
Windows.UI.Xaml.Media.CompositionTarget.addEventListener("rendering", onRendering);
Windows.UI.Xaml.Media.CompositionTarget.removeEventListener("rendering", onRendering);
- or -
Windows.UI.Xaml.Media.CompositionTarget.onrendering = onRendering;
Public Shared Custom Event Rendering As EventHandler(Of Object)
事件類型
備註
如果您有 Microsoft DirectX 內容的 Interop 案例,處理轉譯可能會很有用。 例如,您可能想要知道 XAML 架構何時轉譯框架,並與 SwapChainPanel 或 SurfaceImageSource 中 Microsoft DirectX 產生的內容同步處理,讓視覺效果更新同時呈現到畫面。 如需詳細資訊,請參閱 DirectX 和 XAML Interop。
若要滿足編譯器,轉譯事件處理常式的第二個e/引數參數必須是Object。 請勿使用 EventArgs。 不過,在處理常式中,您可以將e/args參考轉換成RenderingEventArgs。 RenderingEventArgs 有一個屬性 RenderingTime,在轉譯案例中可能很有用,但並非所有處理常式都需要這項資訊。 可能就足以知道事件引發並處理每次發生。
即使未系結至任何特定 UI 元素,轉譯的處理常式仍會在 UI 執行緒上執行。 這類似于執行無限動畫。 一般而言,只有在有工作需要執行時,UI 執行緒才會作用中,但新增此事件的處理常式會強制執行每個框架,以防止系統電源使用優化。 因此,當您不再需要任何轉譯處理常式時,最好移除任何轉譯處理常式,並只在您需要時加以新增。 例如,只有在載入具有同步處理 DirectX 內容的特定頁面時,才新增處理常式,然後將處理常式移除為頁面清除的一部分, (OnNavigatedFrom) 。 For more information see the Use infinite animations sparingly section of the performance guide.