DispatcherPriority Sabit listesi
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.
Dispatcheryoluyla işlemlerin çağrılabileceği öncelikleri açıklar.
public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority =
Public Enum DispatcherPriority
- Devralma
Alanlar
| Name | Değer | Description |
|---|---|---|
| Invalid | -1 | Numaralandırma değeri -1'dir. Bu geçersiz bir önceliktir. |
| Inactive | 0 | Numaralandırma değeri 0'dır. İşlemler işlenmez. |
| SystemIdle | 1 | Numaralandırma değeri 1'dir. İşlemler, sistem boşta olduğunda işlenir. |
| ApplicationIdle | 2 | Numaralandırma değeri 2'dir. İşlemler, uygulama boşta olduğunda işlenir. |
| ContextIdle | 3 | Numaralandırma değeri 3'dür. İşlemler, arka plan işlemleri tamamlandıktan sonra işlenir. |
| Background | 4 | Numaralandırma değeri 4'dür. diğer tüm boşta olmayan işlemler tamamlandıktan sonra işlemler işlenir. |
| Input | 5 | Numaralandırma değeri 5'tir. İşlemler girişle aynı önceliğe göre işlenir. |
| Loaded | 6 | Numaralandırma değeri 6'dır. İşlemler, düzen ve işleme tamamlandığında ancak giriş önceliğine sahip öğelere hizmet verilmeden hemen önce işlenir. Bu özellikle Loaded olayı oluşturulurken kullanılır. |
| Render | 7 | Numaralandırma değeri 7'dir. İşlemeyle aynı önceliğe göre işlenen işlemler. |
| DataBind | 8 | Numaralandırma değeri 8'dir. İşlemler, veri bağlama ile aynı önceliğe göre işlenir. |
| Normal | 9 | Numaralandırma değeri 9'dur. İşlemler normal önceliğe göre işlenir. Bu, tipik uygulama önceliğidir. |
| Send | 10 | Numaralandırma değeri 10'dur. İşlemler diğer zaman uyumsuz işlemden önce işlenir. Bu en yüksek önceliktir. |
Örnekler
Aşağıdaki örnek yöntemini çağırır Dispatcher.BeginInvoke ve tek bağımsız değişkenle bir temsilci geçirir. Öncelik olarak Normalayarlanır.
// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Normal,
new OneArgDelegate(UpdateUserInterface),
weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)
Açıklamalar
geçerli WPF sürümünde ApplicationIdle ve ContextIdle karşılık gelen belirli bir sistem durumu veya "boşta kalma" yoktur. Her ikisi de hala geçerli önceliklerdir; önceliğe ContextIdle sahip bir işlem, önceliğe sahip bir işlemden daha yüksek önceliğe SystemIdlesahiptir.
, CPU'nun Dispatcher belirli bir yüzdesini aşarsa bir işlemin yürütülmesini kısıtlamaz. Bir işlemi kısıtlamanın bir yolu zamanlayıcı kullanmaktır.
bir işlem, önceliğine Dispatcher.Invokegöre Dispatcher kullanılarak Send gönderiliyorsa, işlem kuyruğu atlar ve hemen yürütülür.