Voglio legare le colonne della mia WPF DataGrid per alcuni oggetti in un dizionario come questo:Come posso associare Wpf DataGridColumn a un oggetto?
Binding Path = Objects [i]
dove Objects è il mio dizionario di oggetti, in modo che ogni cella rappresenterà un elemento Object. Come lo posso fare?
Suppongo di dover creare un modello per la mia cella, cosa che ho fatto, ma come ottenere il risultato del binding di colonna nel modello? So che per impostazione predefinita il contenuto di un DataGridCell è un TextBlock e la sua proprietà Text viene impostata attraverso il risultato del binding di colonne, ma se quel risultato è un oggetto, suppongo di dover creare un ContentTemplate. Come faccio a farlo, poiché le cose che ho provato non mostrano nulla.
Qui è quello che ho provato:
<Style x:Key="CellStyle" TargetType="{x:Type dg:DataGridCell}">
<Setter Property="Template"> ---it should realy be ContentTemplate?
<Setter.Value>
<ControlTemplate>
<controls:DataGridCellControl CurrentObject="{Binding }"/> -- I would expect to get the object like this for this column path : Path=Objects[i] but is not working
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Così, per farmi completamente chiaro, voglio entrare in CurrentObject proprietà della mia DataGridCellControl dell'oggetto corrente che dovrebbe comportare se ho impostato la colonna vincolante nel mio griglia di dati come questa Path = Objects [i].
Grazie per qualsiasi suggerimento,
John.
Grazie Carlo per il replay, È un modo simile di farlo con WPF DataGrid? Cordiali saluti, John –
Oh, e qualcos'altro, creo dinamicamente le mie colonne, quindi avrò bisogno di un CellTemplate globale applicabile a tutte le celle. Qualche idea su come posso farcela? –
Forse dovresti semplicemente creare la tabella dati fuori dal dizionario e associare il datagrid a tale datatable, pensi che questo ti potrebbe aiutare? – Carlo