Magazine Internet

[WPF] Afficher/Masquer un control en fonction de ses données

Publié le 22 avril 2009 par Jeremy.jeanson

Dans un scenario maitre/détail il peut s’avère plus propre de masquer le détail si aucun élément n’est sélectionné dans le mettre.

Voici donc un code permettant de masquer un détail (DockPanel) tant que le maitre(TreeView) n’a pas d’élément sélectionné :

<TreeView x:Name="treeViewItems">
...
</TreeView>

<DockPanel DataContext="{Binding ElementName=treeViewItems,Path=SelectedItem}">
 <DockPanel.Style>
  <Style TargetType="DockPanel">
   <Style.Triggers>
    <DataTrigger Binding="{Binding}" Value="{x:Null}">
     <Setter Property="Visibility" Value="Hidden"/>
    </DataTrigger>
   </Style.Triggers>
  </Style>
 </DockPanel.Style>
</DockPanel>

Toute l’astuce réside donc dans le DataTrigger qui test l’état de l’objet du Binding.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte