J'essaie d'implémenter un événement de modification de propriété (ou ce qui est approprié) dans mon projet wpf et j'essaie de trouver la meilleure façon de procéder.Problème avec la liaison de données WPF mais vous devez deviner quel type
J'ai cet en-tête où il y a une icône d'expansion/réduction et dans ma fenêtre, je peux avoir plusieurs en-têtes. Je veux que la valeur par défaut soit réduite quand tous les en-têtes sont listés au début mais quand l'utilisateur développe certains en-têtes (pas tous), quand je clique sur 'refresh' sur ma fenêtre pour mettre à jour les en-têtes, je veux c'était avant qu'il soit rafraîchi. Donc, si l'en-tête 1 et 2 ont été développés, et 3 et 4 ont été réduits, quand le bouton d'actualisation est pressé, je veux qu'il se souvienne de cela. Le problème est que lorsque je clique sur 'rafraîchir', il actualise l'ensemble de la vue pour qu'elle perde l'information. J'essaye d'avoir une collection dans la classe réelle qui héberge ces en-têtes pour stocker les informations ainsi quand un en-tête est développé ou réduit, il avertira la collection qu'un expansé/effondré a renvoyé et je veux mettre à jour cette valeur dans la collection ainsi quand le bouton d'actualisation est cliqué, je peux le comparer avec un GUID si l'en-tête était déjà présent dans la vue avant l'actualisation, mettre à jour le nouvel entête entrant avec l'information stockée de expand/collapse le rafraîchissement, il tiendra son état.
pour INotifyCollectionChanged vérifier ObservableCollection –
Hey casperOne, Merci beaucoup pour la réponse rapide. Je pensais, est-il possible d'utiliser l'interface INotifyPropertyChanged lorsque la propriété booléenne que je possède n'est même pas présente dans le fichier .xaml? Un utilisateur clique sur un '[+]' pour développer et l'icône passe à '[-]' et lorsque l'en-tête est développé, j'essaie de définir la propriété 'IsExpanded' sur TRUE et chaque fois que cette propriété change, Je veux notifier à la classe qui héberge les en-têtes (notifier à aucune vue). Merci beaucoup! –
@Dan: Vous pourriez, mais si ce n'est pas dans le XAML alors vous ne serez pas en mesure de se lier à la valeur. Cela implique également que votre conception est un peu sale, en ce sens que vous n'avez pas cette propriété exposée (et vous devriez l'exposer séparément des données pour lesquelles l'en-tête est). – casperOne