2011-01-18 20 views
7

Esiste la possibilità di nascondere le righe DataGrid tramite DataBinding:
Se si dispone di elementi di un BO o di un ViewModel con proprietà di visibilità, esiste la possibilità di dichiarare un'associazione in modo tale che la riga sarà nascosta se la proprietà è impostata su invisibile e viceversa?DataGrid Wpf nasconde riga completa tramite DataBinding

+0

Se è tutto legato perché non semplicemente rimuovere i dati del modello della collezione supporto in modo che riga è "nascosto" e aggiungere i dati del modello di nuovo in per renderlo "visibile"? –

+0

@Aaron: Purtroppo non posso modificare il contenuto delle raccolte di origini. – HCL

risposta

15

Dovrebbe essere possibile farlo tramite RowStyle. Qualcosa di simile a questo:

<DataGrid> 
    <DataGrid.RowStyle> 
     <Style TargetType="DataGridRow"> 
      <Setter Property="Visibility" Value="{Binding Visibility}" /> 
     </Style> 
    </DataGrid.RowStyle> 
</DataGrid> 
+0

+1 e accetta, funziona alla grande! – HCL

+1

Potrei aggiungere che la proprietà di associazione deve restituire la stringa "Collapsed" per la riga da comprimere (non un valore booleano). – Johncl

+0

+1 @Jjohncl: Era Bang On! –