Je suis lier une liste d'objets à un ItemsControl qui contient un contrôle TextBox.propriétés de liaison à jour WPF de plusieurs éléments contenus dans une liste en même temps
Je veux être en mesure de changer la couleur de fond de zone de texte basée sur la propriété de couleur de fond de l'objet de liaison.
Cela fonctionne parfaitement avec l'interface INotifyPropertyChanged mais quand j'ai besoin de mettre à jour disons 1000 objets, cela prend énormément de temps car il faut mettre à jour les contrôles un par un.
Est-ce que quelqu'un a une astuce pour moi de dire LETS, mettre à jour tous mes objets couleur de fond et que mettre à jour la liaison d'un seul coup au lieu d'objet par objet?
Merci,
Mat
Vous tiriez un événement PropertyChanged avec le nom de la propriété "BackgroundColor" ou null? – Guy
En règle générale, vous devez utiliser un ItemTemplate pour styler la couleur d'arrière-plan de vos éléments en fonction d'une propriété plutôt que d'avoir la couleur explicite en tant que couleur dans l'objet auquel vous vous liez. A noter également que l'utilisation d'un contrôle dérivé de VirtualizingStackPanel (par exemple ListBox) plutôt que d'un ItemsControl vous obtient la virtualisation interface utilisateur gratuitement (il mettre à jour l'habitude de tous les objets de l'interface utilisateur à moins que l'utilisateur peut les voir) – Guy
Je tir événement PropertyChanged avec le nom de la propriété " Couleur de fond" – Matx