Share via


DynamicRenderer.GetDispatcher 方法

定義

傳回呈現執行緒的 Dispatcher

protected:
 System::Windows::Threading::Dispatcher ^ GetDispatcher();
protected System.Windows.Threading.Dispatcher GetDispatcher ();
member this.GetDispatcher : unit -> System.Windows.Threading.Dispatcher
Protected Function GetDispatcher () As Dispatcher

傳回

呈現執行緒的 Dispatcher

範例

下列範例示範如何使用 GetDispatcher 方法來對轉譯執行緒執行一些工作。

delegate void WorkerMethod();

class CustomDynamicRenderer : DynamicRenderer
{
    protected override void OnStylusDown(RawStylusInput rawStylusInput)
    {
        base.OnStylusDown(rawStylusInput);
        rawStylusInput.NotifyWhenProcessed(null);
    }

    protected override void OnStylusDownProcessed(object callbackData, bool targetVerified)
    {
        base.OnStylusDownProcessed(callbackData, targetVerified);

        Dispatcher renderingThreadDispatcher = this.GetDispatcher();
        renderingThreadDispatcher.BeginInvoke(DispatcherPriority.Normal, new WorkerMethod(DoSomething));
    }

    private void DoSomething()
    {
        // Perform work on the rendering thread.
    }
}
Delegate Sub WorkerMethod()

Class CustomDynamicRenderer
    Inherits DynamicRenderer

    Protected Overrides Sub OnStylusDown(ByVal rawStylusInput As RawStylusInput)

        MyBase.OnStylusDown(rawStylusInput)
        rawStylusInput.NotifyWhenProcessed(Nothing)

    End Sub


    Protected Overrides Sub OnStylusDownProcessed(ByVal callbackData As Object, ByVal targetVerified As Boolean)

        MyBase.OnStylusDownProcessed(callbackData, targetVerified)

        Dim renderingThreadDispatcher As Dispatcher = Me.GetDispatcher()
        renderingThreadDispatcher.BeginInvoke(DispatcherPriority.Normal, New WorkerMethod(AddressOf DoSomething))

    End Sub


    Private Sub DoSomething()
        ' Perform work on the rendering thread.
    End Sub

End Class

適用於