Le temps de ma première question :)
J'ai le suivant:
public class BuilderViewModel : INotifyPropertyChanged
{
#region Implémentation de INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
#endregion
private double _contentScale = 1.0;
public double ContentScale
{
get { return _contentScale; }
set
{
_contentScale = value;
NotifyPropertyChanged("ContentScale");
}
}
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#region Commands
bool CanZoomIn() { return true; }
void ZoomInExecute()
{
ContentScale += 1.0;
}
public ICommand ZoomIn { get { return new RelayCommand(ZoomInExecute, CanZoomIn); } }
#endregion
}
Et la vue correspondante:
J'essaie d'avoir la commande ZoomIn dans BuilderViewModel mettre à jour la valeur de la zone de texte dans sa vue. La commande est déclenchée à partir d'un autre user control, UIBuilder, qui inclut Builder. Si je débogue et que je déclenche la commande à partir de UIBuilder, je peux voir qu'elle met à jour ContentScale correctement.
Cependant, la valeur de ma zone de texte n'est pas mise à jour (elle affiche seulement "1", qui est la valeur initiale de ContentScale).
Je sais que je manque quelque chose et j'espère que quelqu'un pourra me mettre sur la bonne voie.
EDIT: Ajout du contrôle qui déclenche la commande
....
....