Dispatcher.PushFrame(DispatcherFrame) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
-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 frame
temsil 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.