Je travaille sur une application MVVM et une vue qui permet de modifier un certain nombre de paramètres réseau (IP, SubnetMask, etc.).MVVM UpdateSourceTrigger
La vue contient un certain nombre de zones de texte liées aux propriétés dans un NetworkConfigViewModel
:
<TextBox>
<TextBox.Text>
<Binding Path="IP" UpdateSourceTrigger="PropertyChanged"/>
</TextBox.Text>
</TextBox>
... etc
La vue contient également un bouton appelé Save Configuration
. Le bouton est lié à un RelayCommand dans le ViewModel qui prend soin d'enregistrer la configuration sur le périphérique distant sur demande. Je voudrais modifier les liaisons de la zone de texte pour utiliser UpdateSourceTrigger="Explicit"
de sorte que le ViewModel ne soit mis à jour que lorsque l'utilisateur clique explicitement sur «Enregistrer la configuration», plutôt que de mettre à jour lorsque les valeurs sont modifiées.
Je comprends que je vais devoir appeler BindingExpression.UpdateSource()
pour chaque zone de texte. Comment puis-je faire cela d'une manière conviviale MVVM? L'ajout d'un nouveau RelayCommand au ViewModel qui connaît les éléments de l'interface utilisateur ne semble pas correct.
"on l'appelle un modèle de vue parce que c'est un modèle de la vue" - Je pensais que c'était une vue du modèle – StingyJack