J'ai réussi à faire fonctionner TreeView dans une application WPF. J'utilise HierarchialDataTemplates pour afficher les données. Mes données sont une liste de Véhicules, où chaque Véhicule a une propriété Territoire.Comment modifier la visibilité d'un TextBlock en fonction de la valeur d'une propriété
Parfois, la propriété Territory est Null. Cela se produit lorsque le véhicule n'a pas été affecté à une région géographique.
La représentation visuelle que je voudrais dans le TreeView devrait être quelque chose comme ceci:
Vehicle_Name (Territory_Name)
Quand Vehicle.Territory est nul, je voudrais que le bold texte à supprimer. S'il reste, il y a cette parenthèse vide à la fin du nom du véhicule.
J'ai essayé d'utiliser un DataTrigger, mais le texte en gras reste, même pour des valeurs Territoire nulles.
<HierarchicalDataTemplate DataType="{x:Type self:TreeVehicleItem}" ItemsSource="{Binding ClientLocations}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock FontWeight="Bold" Padding="10 0 0 0">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding Territory}" Value="x:Null">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
(<Run Text="{Binding Territory.Name}" />)
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
J'ai vérifié que la propriété Territory
est en effet Null
et non pas seulement une liste vide.
Que dois-je faire pour que le TextBlock en gras disparaisse lorsque la propriété Territory est Null?
* coup de tête * Merci beaucoup Ed! –