Je crée un Adorner de chargement qui a une icône tourbillonnant dessus. J'ai essayé de lier la propriété de visibilité directement dans le XAML mais cela cache tout ce qui se trouve dans sa hiérarchie.WPF Adorner Visibilité Liaison de données par programme
J'ai dans mon XAML:
<AdornerDecorator Visibility="{Binding Path=RootGroup.Loading, Converter={StaticResource VisibilityConverter}}">
<TreeView x:Name="groupTreeView" />
</AdornerDecorator>
et dans mon constructeur
LoadingAdorner adorner = new LoadingAdorner(groupTreeView);
AdornerLayer.GetAdornerLayer(groupTreeView).Add(adorner);
C'est veux pas que je voulais si je l'ai essayé de lier le code à la place:
LoadingAdorner adorner = new LoadingAdorner(groupTreeView);
Binding bind = new Binding("RootGroup.Loading");
bind.Source = this.DataContext;
bind.Converter = new VisibilityConverter();
adorner.SetBinding(LoadingAdorner.VisibilityProperty, bind);
AdornerLayer.GetAdornerLayer(groupTreeView).Add(adorner);
Cela fonctionnera si le DataContext n'est pas nul car il peut réellement trouver RootGroup.Loading. Mais si elle est nulle alors la liaison n'a aucune source à regarder.
Alors je me demandais qu'est-ce que la liaison de données XAML utilise comme .Source? La liaison directement dans le fichier XAML se lie à la propriété correcte, mais n'obtient pas le même résultat. Donc, je me demande juste ce que je devrais mettre mon .Source à Donc je peux lier à RootGroup.Loading?
Merci, Raul
Bien comme vous l'avez dit, il ne répond pas directement à la question ... mais votre approche est meilleure quand je faisais ce que je faisais. Merci beaucoup! – HaxElit