2010-06-28 6 views
0

J'ai une zone de liste déroulante remplie de données sensibles au temps.
Ma configuration est un peu difficile à expliquer, alors supposons que le Combobox a un itemtemplate contenant un bloc de texte.
Le bloc de texte est databound à une propriété renvoyant DateTime.Now, je voudrais redéfinir la valeur du bloc de texte (pas toute la zone de liste déroulante).
Y at-il un moyen de boucler les éléments pour les mettre à jour ou quelque chose comme ça ou une autre fonction magique qui peut relier les éléments (sans relier toute la Combobox).Mise à jour des valeurs Combobox sans reliaison

Vive
/Jimmy

Répondre

1

Y at-il une raison que vous ne pouvez pas déclencher un événement INotifyPropertyChanged dans l'objet lié (s) pour la propriété qui est lié à la textblock? Tant que vous n'augmentez pas INotifyPropertyChanged sur n'importe quelle collection liée à la ItemsSource de liste déroulante cela devrait fonctionner je pense.

+0

Quelle est la meilleure façon de faire cela? Je dois le faire basiquement chaque minute ou perhape toutes les deux minutes, devrais-je utiliser une minuterie dans l'objet ou simplement faire une boucle sur l'itemource et exécuter une sorte de méthode qui soulève INotifyPropertyChanged? –

+1

L'une ou l'autre façon fonctionnerait - je conseillerais probablement de ne pas placer un temporisateur dans chacun des objets individuels dans l'ItemSource comme vous pouvez probablement gérer avec un seul objet de temporisateur et une boucle. Si la propriété ItemSource est une propriété d'un objet View View parent, vous pouvez ajouter un seul timer à l'objet parent qui appelle une méthode sur chacun des objets enfants. Si ItemSource n'est pas lié à une propriété d'un objet View View parent de cette manière, je suppose que vous n'utilisez pas une approche MVVM, donc un timer dans code-behind pour faire une boucle sur l'itemource et déclencher l'événement à partir de là devrait être ok –

+0

a bien fonctionné =) Merci –

Questions connexes