Sto utilizzando un datagrid Silverlight 3 e al suo interno sto annidando i record correlati in un altro controllo utilizzando i parametri rowdetails (visibilitymode = visiblewhenselected).Datagrid Silverlight annidato - Dettagli riga funziona alla grande, ma voglio un pulsante!
Mi piace molto come funzioni, ma preferirei che la griglia mostri i dettagli della riga quando viene premuto un pulsante "+", proprio come un albero si espanderà quando si fa clic su un nodo.
ho cercato di definire a livello di codice del modello utilizzando le risorse in questo modo:
<Grid.Resources>
<DataTemplate x:Key="EmptyTemplate">
<StackPanel>
<!--<TextBlock Text="Empty Template!!!" />-->
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="SongTemplate">
<StackPanel>
<AdminControls:ArtistSongControl x:Name="ArtistSongControl" />
</Stack>
</DataTemplate>
</Grid.Resources>
E nel caso in LoadingRowDetails della griglia, sceglierei il modello da impostare da:
e.Row.DetailsTemplate = (DataTemplate)LayoutRoot.Resources["SongTemplate"];
Questo sortof lavorate , ma ho scoperto che ho avuto problemi con il crollo del modello di dettagli delle righe precedenti e persino l'arresto anomalo di ie8 (non sono sicuro che sia correlato).
Fondamentalmente, mi piace molto come funziona il datagrid di silverlight 3 e anche come viene implementato il file rowdetailstemplate. Vorrei semplicemente posticipare il caricamento di tutti i dettagli finché una riga non viene espansa di proposito (come sarebbe un albero). Tutte le griglie di terze parti sembrano fare questo, e Microsoft è veramente vicino. Qualcuno ha qualche idea su come risolvere questo?
Grazie, Dennis
Basta chiedersi come vai a deselezionare il ToggleButton sulla riga che viene selezionata quando fai clic sul pulsante di una nuova riga? –