MessageBox.Show(), ancak bir genişletilmiş işlevsellik gerekir: Windows Phone 7 için yerleşik ileti kutusu keyfi düğmeler göstermez, sadece Tamam veya iptal, örneğin ihtiyacım var Evet, hayır. Sadece kullanıcı bir düğmeyi tıkladığında geri dönecek bir Gösterme yöntemine ihtiyacım var. Kendi mesaj kutumu pop-up olarak yapmaya çalıştım. Sorun, WP7'deki UI-thread'daki her şey kadar asenkronize olması ve UI-thread'in buton tıklama olaylarını ele almaktan sorumlu olması nedeniyle UI-thread'i bloke edemem olmasıdır. WP7 için bir ChildWindow örneği gördüm, ancak bu da eşzamansızdı, yalnızca kullanıcı tıklattığında dönen bir Show() yöntemine sahip olmalıyım. Baska öneri? Bir çeşit DoEvents() bana çok yardımcı olabilir, ancak WP7'de böyle bir yöntem yoktur :(MessageBox.Show Windows Phone 7 için
cevap
Sen özel düğmeleri olan bir MessageBox göstermek için XNA en Guide.BeginShowMessageBox() kullanabilirsiniz. Here's kullanmak için nasıl bir öğretici. MessageBoxIcon parametre seçmek etmediğini
Not WP7 üzerinde bir simge, bunun yerine n seçer Mesaj kutusu görüntülendiğinde ses seviyesi duyulur.
DÜZENLEME: Hatalar, gönderilmeden önce senkronize gereksinimi okumadım. Belki de kaçmayı engellemek için istediğinizi durdurmak için bir bayrak ayarlayabilir ve kullanıcı bir seçim yaptıktan sonra sıfırlayabilirsiniz.
Bunu benzer bir şey ararken buldum, ancak sadece yerleşik mesaj kutusunu kullanarak yaralıyorum. özel düğmeler var yeteneği.
Cevabınız için teşekkür ederiz, ancak Show() bölümü bu çözümden memnun değil, sadece keyfi düğmeler kısmı; Bunu değiştirirseniz: NotificationBox.Show ("Çıkış", "Emin misiniz?", new NotificationBoxCommand ("Evet",() => {}), new NotificationBoxCommand ("Hayır",() => {})); bunun için: AutoResetEvent waitHandle = yeni AutoResetEvent (false); NotificationBox.Show ("Çıkış", "Emin misiniz?", new NotificationBoxCommand ("Evet",() => {waitHandle.Set();}), new NotificationBoxCommand ("Hayır",() => {waitHandle.Set();})); waitHandle.WaitOne(); ... o zaman kilitlenme olsun, bu benim problemim :( – Vic
Üzerinde istediğiniz her şeye sahip bir Tuval kullanın. Sonra sadece görünebilirlik özelliğini kullanın ...
- 1. Windows Phone 7 - sayfalarında
- 2. Windows Phone 7: URI'lerle Tombstone?
- 3. Windows Phone 7 düğmeleri
- 4. Windows Phone 7: SQLite
- 5. Windows Phone 7
- 6. Windows Phone 7
- 7. Windows Phone için çizim kütüphanesi 7/Silverlight
- 8. Windows Phone 7 için takvim denetimi?
- 9. Windows Phone 7 için Drag'n'Drop sortable Listbox
- 10. Windows Phone Masaüstünde 7 Stiller
- 11. Windows Phone 7 düğmesi "kenarlıklar"
- 12. Windows Phone 7 iğneyi bir uygulamanın içinden başlatmak için pim
- 13. Windows Phone 7 - Sql Kompakt Alternatifleri?
- 14. Windows Phone Üzerinden Uygulamaların Dağıtımı 7
- 15. Windows Phone 7 - iCal Jeneratör - C#
- 16. Windows Phone 7 Uygulama Çubuğunu Gizleme
- 17. konum: Windows Phone 7'de sabitlendi
- 18. MD5, Windows Phone 7'de destekleniyor mu?
- 19. ListBox.Itemtemplate nasıl oluşturulur, Windows Phone 7
- 20. Windows Phone 7 ping uygulamak mümkün mü?
- 21. Kilitlenme Oturum aç Windows Phone 7 aygıt
- 22. Geçerli Windows Phone 7 Cihazının Kimliğini Alın
- 23. Windows Phone 7 TopProperty Değiştirilen etkinlik
- 24. Windows Phone 7 Uygulama Başlığı Kodunu Kullanın
- 25. Windows Phone 7 veya mango'da Bluetooth api
- 26. Windows Phone 7'de ISynchronizeInvoke var
- 27. Satmak Windows Phone 7 Uygulama Hub dışındaki uygulamalar 7
- 28. Windows Phone ScrollViewer için
- 29. Windows Phone için RTMP kitaplığı
- 30. Windows telefon 7 uygulamaları Windows Phone 8 cihazlarında uyumlu mu?
Evet, ama benim en büyük problemim, sadece bir düğme tıklandığında döndüren bir yöntem kullanması gerektiğidir. koşulu tıklatın ve koşulu yerine getirdiyse zaman aşımı olay işleyicisinde programa devam edin, ancak bunu tek bir yöntemde nasıl uygulayacağımı anlayamıyorum :( – Vic
Denedim ve işe yarıyor !!! :): – Vic
AutoResetEvent waitHandle = new AutoResetEvent (false); Guide.BeginShowMessageBox ("Windows'un sürümü", "Windows'un bir sürümünü seçin.", yeni Liste {"Vista", "Seven"}, 0, MessageBoxIcon.Error, asyncResult => { int ? return = Guide.EndShowMessageBox (asyncResult); waitHandle.Set(); }, null); waitHandle.WaitOne(); bu, UI iş parçacığını engellemez! Thanx :) –
Vic