Dispatcher.PushFrame(DispatcherFrame) Yöntem

Tanım

Yürütme döngüsü girer.

public:
 static void PushFrame(System::Windows::Threading::DispatcherFrame ^ frame);
[System.Security.SecurityCritical]
public static void PushFrame (System.Windows.Threading.DispatcherFrame frame);
public static void PushFrame (System.Windows.Threading.DispatcherFrame frame);
[<System.Security.SecurityCritical>]
static member PushFrame : System.Windows.Threading.DispatcherFrame -> unit
static member PushFrame : System.Windows.Threading.DispatcherFrame -> unit
Public Shared Sub PushFrame (frame As DispatcherFrame)

Parametreler

frame
DispatcherFrame

Dağıtıcının işlemesi için çerçeve.

Öznitelikler

Özel durumlar

frame, null değeridir.

HasShutdownFinishedtrue

-veya- frame farklı Dispatcherbir üzerinde çalışıyor.

-veya- Dağıtıcı işleme devre dışı bırakıldı.

Örnekler

Aşağıdaki örnekte, Windows Forms DoEvents yöntemiyle benzer sonuçlar elde etmek için nasıl DispatcherFrame kullanılacağı gösterilmektedir.

public void DoEvents()
{
    DispatcherFrame frame = new DispatcherFrame();
    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
        new DispatcherOperationCallback(ExitFrame), frame);
    Dispatcher.PushFrame(frame);
}

public object ExitFrame(object f)
{
    ((DispatcherFrame)f).Continue = false;
   
    return null;
}
<SecurityPermissionAttribute(SecurityAction.Demand, Flags := SecurityPermissionFlag.UnmanagedCode)>
Public Sub DoEvents()
    Dim frame As New DispatcherFrame()
    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, New DispatcherOperationCallback(AddressOf ExitFrame), frame)
    Dispatcher.PushFrame(frame)
End Sub

Public Function ExitFrame(ByVal f As Object) As Object
    CType(f, DispatcherFrame).Continue = False

    Return Nothing
End Function

Açıklamalar

A DispatcherFrame , bekleyen iş öğelerini işleyen bir döngünün temsilidir.

Dispatcher iş öğesi kuyruğu bir döngü içinde işler. Döngü bir çerçeve olarak adlandırılır. İlk döngü genellikle çağrılarak Runuygulama tarafından başlatılır.

PushFrame parametresiyle frametemsil edilen bir döngü girer. döngünün her yinelemesinde, Dispatcher döngünün Continue devam edip etmeyeceğini veya durması DispatcherFrame gerekip gerekmediğini belirlemek için sınıfındaki özelliğini denetler.

DispatcherFrame özelliğin Continue açıkça ayarlanmasına izin verir ve üzerindeki özelliğine HasShutdownStarted Dispatcherdikkat eder. Bu, kapatmaya başladığında varsayılan DispatcherFrame uygulamayı kullanan çerçevelerin çıkılacağı ve bu sayede tüm iç içe çerçevelerin çıkılacağı anlamına gelirDispatcher.

Şunlara uygulanır

Ayrıca bkz.