11
votes

"UpdatatatatatatatesRigger = PropertyChanged" équivalent pour une zone de texte dans WinRT-XAML

Dans WPF, nous pouvons mettre à jour le modèle de données sous-jacent chaque fois que l'utilisateur apporte une modification des données en tirant parti de la mise à jour des updatesTourceRigger, comme suit ceci: xxx pre>

dans les mises à jour du téléphone de la fenêtreTourcetrigger n'a pas été incluse dans la spécification XAML. Et pour accomplir la même chose, un gestionnaire textuel était nécessaire comme celui-ci: P>

(sender as TextBox).GetBindingExpression(TextBox.TextProperty).UpdateSource();


0 commentaires

3 Réponses :


-2
votes

Jerry,

Le modèle que vous devriez utiliser serait la mise en œuvre inotifyPropertychangned. Heres et exemple de MSDN: http://msdn.microsoft.com/en-us /library/ms229614.aspx p>

De cette manière, tout objet XAML qui est lié à une propriété de support ou à un champ, sera notifié lorsque la valeur du champ de support a changé, à cause de l'appel à la méthode notifypropertyChanged (). p>

Si vous deviez mettre en œuvre ce modèle, vous ne devez définir explicitement de définir explicitement quand mettre à jour l'interface utilisateur, tous les elelements d'interface utilisateur liés à la notifiable possédant la mise à jour lorsque vous vous attendez à la mise à jour. Changements source. P>

pour les classes qui implémentent inotifypropertychanged p>

J'utilise un extrait pour créer la plupart de mes propriétés comme celle-ci (s'il y a une chance qu'ils seront liés ou devront en informer une autre Objet): P>

private PropertyChangedEventArgs myVarChangedEventArgs = new PropertyChangedEventArgs("MyProperty");
private int myVar;
public int MyProperty
{
get { return myVar; }
set
  {
     if (myVar != value)
     {
        myVar = value;
        NotifyPropertyChanged(myVarChangedEventArgs);
      }
   }
}


1 commentaires

Désolé mate, cela implémente juste la liaison. Cela ne résout pas le problème. Essayez de l'exécuter et vous verrez que le setter ne se déclenche pas tant que l'utilisateur quitte la zone de texte.



5
votes

3 commentaires

Comment cela peut-il être manquant? Je suppose que MS Dog-Fooding s'est arrêté concernant RT XAML?


Je pense qu'il est corrigé dans Win8.1: MSDN.MicRosoft .com / fr-nous / données / ...


AH, et mises à jourOrciggerCetrigger est là. Seigneur! Quel ou quelle surveillance.



1
votes

Il semble que mises à mises à jourTourcetrigger et getBindingExpression sont disponibles sous Windows 8.1. Grâce à Rico Suter ci-dessus et à la production HDW de cette question:

Windows Store Textbox - Comment mettre à jour Reliure sur la touche Entrée?


0 commentaires