2009-09-08 14 views
12

Nel mio ViewModel ho una lista di elementi a cui vorrei una griglia nella mia vista per legare (gli oggetti saranno i bambini delle griglie). L'elenco è un elenco di modelli di visualizzazione per gli articoli.Come si legano i bambini di una griglia a un elenco?

Come si associa una griglia all'elenco (Posso accedere a .children nel codice ma non in xaml)? Inoltre, come si specifica il modello di dati (un altro file xaml) per i modelli di vista nell'elenco in modo che vengano visualizzati correttamente nella griglia.

Grazie

risposta

22

utilizzare un ItemsControl con il ItemsPanel insieme a una griglia:

<ItemsControl ItemsSource="{Binding TheList}"> 
    <ItemsControl.ItemsPanel> 
    <ItemsPanelTemplate> 
     <Grid/> 
    </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
</ItemsControl> 

In s' ItemContainerStyle il ItemsControl, si potrebbe desiderare di associare le proprietà associate Grid.Row e Grid.Column ad alcune proprietà del articoli:

<ItemsControl.ItemContainerStyle> 
    <Style TargetType="{x:Type FrameworkElement}"> 
     <Setter Property="Grid.Row" Value="{Binding RowIndex}"/> 
     <Setter Property="Grid.Column" Value="{Binding ColumnIndex}"/> 
    </Style> 
    </ItemsControl.ItemContainerStyle> 
+1

Grazie. Ho anche capito la seconda parte della mia domanda se qualcun altro si imbatte in questo

+0

Questo è un trattamento se si conosce il numero di righe e colonne necessarie, ma cosa succede se si desidera un massimo di riga/colonna? C'è un modo per generare automaticamente le definizioni riga/colonna? –

Problemi correlati