W MvvmLight znalazłem, że obok Messenger.Default, który jest rodzajem globalnej zmiennej statycznej do przechowywania obsługi wiadomości z całej aplikacji, każdy Viewmodel będzie miał inny program obsługi komunikatów o nazwie MessengerInstance. Jestem więc zdezorientowany tym, co MessengerInstance użyto dla &, jak z niego korzystać? (Tylko ViewModel można go zobaczyć -> Kto otrzyma & wiadomość proces?)MessengerInstance vs Messenger.Default w Mvvmlight
5
A
Odpowiedz
3
MessengerInstance
jest używany przez RaisePropertyChanged() metoda:
<summary>
/// Raises the PropertyChanged event if needed, and broadcasts a
/// PropertyChangedMessage using the Messenger instance (or the
/// static default instance if no Messenger instance is available).
///
/// </summary>
/// <typeparam name="T">The type of the property that
/// changed.</typeparam>
/// <param name="propertyName">The name of the property
/// that changed.</param>
/// <param name="oldValue">The property's value before the change
/// occurred.</param>
/// <param name="newValue">The property's value after the change
/// occurred.</param>
/// <param name="broadcast">If true, a PropertyChangedMessage will
/// be broadcasted. If false, only the event will be raised.</param>
protected virtual void RaisePropertyChanged<T>(string propertyName, T oldValue, T
newValue, bool broadcast);
Można go używać na nieruchomości na widoku Model B na przykład:
public const string SelectedCommuneName = "SelectedCommune";
private communes selectedCommune;
public communes SelectedCommune
{
get { return selectedCommune; }
set
{
if (selectedCommune == value)
return;
var oldValue = selectedCommune;
selectedCommune = value;
RaisePropertyChanged(SelectedCommuneName, oldValue, value, true);
}
}
go złapać i radzić sobie z nim na widoku modelu a z:
Messenger.Default.Register<PropertyChangedMessage<communes>>(this, (nouvelleCommune) =>
{
//Actions to perform
Client.Ville = nouvelleCommune.NewValue.libelle;
Client.CodePays = nouvelleCommune.NewValue.code_pays;
Client.CodePostal = nouvelleCommune.NewValue.code_postal;
});
Mam nadzieję, że to pomoże :)
Powiązane problemy
- 1. MVVMLight ViewModelLocator rejestracji dataservice
- 2. Mvvmlight i Xamarin.iOS stanie znaleźć domyślny konstruktor
- 3. MVVMLight - jak uzyskać odniesienie do ViewModel w widoku?
- 4. EventToCommand nie istnieje w zestawie narzędzi Mvvmlight WPF4.5
- 5. MVVMLight Simple IOC - dynamiczne rejestrowanie i wyrejestrowywanie implementacji usług danych
- 6. Klasa vs pakiet vs moduł vs komponent vs kontener kontra serwis vs platforma w świecie Java
- 7. Zmierz czas w Linuksie - czas vs zegar vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
- 8. Int32 vs Int64 vs Int w C#
- 9. W kątomierz, browser.isElementPresent vs element.isPresent vs element.isElementPresent
- 10. Strona vs Extent vs. Segment vs. Tabele
- 11. Opa vs Dart vs Haxe vs coffeescript
- 12. VS 2008 vs VS 2008 Express
- 13. metoda vs funkcja vs procedura vs klasa?
- 14. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 15. NetSqlAzMan vs AzMan vs (?????)
- 16. SpiderMonkey vs JavaScriptCore vs?
- 17. Crystalspace vs. Irrlicht vs. .....?
- 18. == vs Równe w C#
- 19. "[]" vs. "[[]]" w powłoce Basha
- 20. localStorage vs sessionStorage vs cookies
- 21. DDS vs AMQP vs ZeroMQ
- 22. managedQuery() vs context.getContentResolver.query() vs android.provider.something.query()
- 23. DbConnection vs OleDbConnection vs OdbcConnection
- 24. flume vs kafka vs inni
- 25. ActiveMQ vs Apollo vs Kafka
- 26. getchar_unlocked() VS scanf() VS cin
- 27. HttpRequest vs HttpRequestMessage vs HttpRequestBase
- 28. IDataErrorInfo vs ValidationRule vs Exception
- 29. ScheduledExecutorService vs Timer vs Handler
- 30. getBBox() vs getBoundingClientRect() vs getClientRects()
Dzięki! Wyczyść teraz!^_ ^ – kidgu