Je voulais faire un contrôle utilisateur rapide pour mon application, mais pour garder les choses dans un style MVVM je pensais que je définirais le DataContext du code XAML au code derrière dans mon UserControl.WPF MVVM - Le contrôle personnalisé ne liera pas à la visibilité si je mets le DataContext au code derrière
à savoir
DataContext="{Binding RelativeSource={RelativeSource Self}}"
Cela me permet de lier le XAML aux propriétés dans mon code derrière. Tout s'est bien passé jusqu'à ce que je vienne lier la visibilité d'une instance du contrôle à une propriété Visibility sur un ViewModel.
<Controls:RoundProgress Visibility="{Binding ProgressVisibility}" Width="100" Height="100"></Controls:RoundProgress>
La visibilité ne fonctionne plus - si je retire mes bricolages avec le DataContext du contrôle de l'utilisateur - les travaux de visibilité!
Quelqu'un peut-il me donner raison s'il vous plaît? Merci
Merci, cela fonctionne parfaitement. –
J'ai essayé ça. cela m'a donné une erreur. La propriété 'AncestorType' n'existe pas sur le type 'RelativeSource' dans l'espace de noms XML 'http://schemas.microsoft.com/winfx/2006/xaml/presentation'. – user20358
Pour être clair, le DataContext que vous spécifiez en XAML sera défini pendant 'InitializeCompenent()'. –