語言

DynamicRenderer.GetDispatcher 方法

定義

回傳渲染執行緒的 a 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

傳回

A 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

適用於