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.