2011-04-05 25 views
5

MVVMLight ve Windows Phone 7 ile deneme yapıyorum ve şimdiye kadar nispeten kolay buluyorum. Kafamı alamadığım tek şey yeni çocuk pencereleri/manzaraları doğurmak. Örneğin: Bir kullanıcının bir öğeyi düzenlemesine izin vermek için yeni bir görünüm oluşturmak/gezinmek istiyorsam, geri döndüklerinde veri tabanındaki öğeler listesini yenilemek gerekirse, görünümün her etkinleşmesi için bir çeşit işleyici eklemem gerekir. veya düzenleme görünümüne gidebilir, ardından görünüm kapatıldığında geri arama tetikleyebilir (NavigationService.GoBack çağrılır).MVVM Light - Çocuk Görüntüleme ve İletişim Kutuları

+0

Cevabımı sildim çünkü dikkat etmedim ve bunun WP 7 için olduğunu görmedim. – dugas

cevap

3

Bunun için kullandığım mesajlaşma çerçevesidir. MainViewModel'i yenilemesine neden olan bir mesaja abone olun, ardından bu mesajı çocuk sayfasından yayınlayın. MainViewModel, hala hafızada, bu mesajı duyacak ve cevap verebilecek. Ben http://chriskoenig.net/2010/07/05/mvvm-light-messaging/ de blogumda Bundan örnek var, ama aynı zamanda kendi özel mesajları (Ben şahsen bu hep yapıyor) yaratabilir unutmayın ve sonra sadece manuel olarak yükseltmek:

// In MainViewModel 
Messenger.Default.Register<ChildProcessCompleteMessage>(this,() => RefreshData()); 

// In ChildViewModel 
Messenger.Default.Send<ChildProcessCompleteMessage>(new ChildProcessCompleteMessage()); 

Bu kalıptır Uygulama modelleri arasında iletişim kurmak için uygulamalarda epeyce kullanıyorum. Bu sorunun tam olarak cevap verip vermediğinden emin değilim, bu yüzden daha fazla bilgiye ihtiyacınız varsa bildirin.

İlgili konular