Je suis capable de se lier à l'arrière-plan d'un enfant si l'enfant est explicitement nommé dans ElementName:Comment se lier à un Contexte de l'enfant en XAML?
<TreeViewItem Header="Test" Background="{Binding ElementName=TestChild, Path=Background}">
<TextBox Name="TestChild" Text="Hello?" Background="{Binding SomeBinding}" />
</TreeViewItem>
Je préfère utiliser la position relative plutôt que des noms spécifiques. Est-il possible de lier à un enfant en utilisant un parent? Dans ce cas, ce sera toujours le premier enfant. Ce qui suit NE FONCTIONNE PAS mais semble comme il se doit.
<TreeViewItem Header="Test" Background="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Children[0].Background}">
J'ai couru quelques tests. Votre réponse est cohérente avec les résultats. Je trouve que l'utilisation d'un événement Loaded est une solution.
BSalita
Oui - Si vous voulez vraiment éviter le nommer dans le XAML vous pouvez le faire en cas chargé. À mon avis si ce n'est pas différent d'utiliser ElementName (et plus de travail) –
L'avantage à l'événement Loaded est que tous les nœuds peuvent partager le même événement. Je peux coller dans le Xaml au lieu d'indiquer explicitement chaque nom d'enfant. – BSalita