J'ai TreeView avec liaison de données hiérarchique. Je veux obtenir les contrôles TreeViewItem.Header pas mon MVVM. Je peux obtenir TreeViewItem en utilisant la méthode TreeView.ItemContainerGenerator.ContainerFromIndex() ... mais comment obtenir TreeViewItem.Header?comment obtenir des contrôles d'en-tête dans des données liées TreeView
Cordialement, Marcin
Merci. Mais l'en-tête contient mon modèle non contrôlé. J'ai besoin de contrôles, car je dois changer une valeur de contrôle. Pourquoi je ne veux pas changer de modèle? Parce que j'ai besoin d'une fonctionnalité qui soit large, pas de modèle. Cette fonctionnalité est en cours d'édition du texte TreeViewItem.Header, je dois permuter TextBlock au contrôle TextBox. – zielu1
Vous pouvez échanger un TextBlock avec un TextBox en utilisant la liaison de données de plusieurs façons. En général, j'ai juste un drapeau tel que "InPlaceEditing" dans mon modèle de vue, et j'utilise un déclencheur de données dans votre modèle pour permuter le TextBlock pour le TextBox. Quelques autres solutions que j'ai utilisées sont: 1. Utiliser une propriété attachée pour échanger automatiquement le modèle, ce qui était bon pour changer une interface utilisateur entière à la fois, et 2. Utiliser une liaison avec un convertisseur pour définir le modèle du contrôle. WPF a tellement de mécanismes puissants pour contrôler cela via la liaison de données qu'il serait presque un crime de ne pas les utiliser. –