Ho un Datagrid WPF che ha una raccolta View Source con 3 livelli di raggruppamento su di esso.Nascondere l'espansore quando tutto il contenuto è compresso
ho designato il datagrid di utilizzare 3 espansori tale che assomiglia a questo:
Level 1 Expander
<content>
Level 2 Expander
<content>
Level 3 Expander
<content>
Livello 2 e Livello 1 sono solo titolo dei gruppi
Ho un secondo controllo che consente la utente per mostrare e nascondere gli elementi di livello 3 che funzionano legando l'espansore di Livello 3 a una proprietà booleana "IsVisible" nell'oggetto dietro.
<!-- Style for groups under the top level. this is the style for how a sample is displayed -->
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<!-- The parent control that determines whether or not an item needs to be displayed. This holds all of the sub controls displayed for a sample -->
<Expander Margin="2"
Background="{Binding Path=Name,
Converter={StaticResource SampleTypeToColourConverter}}"
IsExpanded="True"
Visibility="{Binding Path=Items[0].IsVisibleInMainScreen,
Converter={StaticResource BoolToVisibilityConverter}}">
Questo approccio funziona in modo fantastico.
TUTTAVIA
Se l'utente deseleziona tutti gli elementi in un livello 3 di espansione, l'intestazione di livello 2 di espansione ancora mostra il che significa che di valore immobiliare è utilizzata up che mostra l'intestazione di un gruppo senza dati visibili.
Quello che vorrei è un modo per legare la visibilità del espansore di livello 2 per i relativi controlli figlio e dire "Se tutti i bambini sono visibili poi mostrare l'espansore, altrimenti comprimerlo"
è possibile?
* Se tutti i bambini sono visibili, mostrare l'espansione, altrimenti comprimerlo * sembra un'attività di conversione. Hai già la proprietà 'IsVisibleInMainWindow', cambia quando i bambini sono compressi. Nota: 'Items' dovrebbe essere' ObservableCollection'. – Sinatr
Puoi darci un xaml più completo incluso tutto l'expander? –
Penso che abbiamo bisogno di più xaml. – PScr