J'utilise une grille de données silverlight 3, et à l'intérieur de celle-ci, j'imprime des enregistrements associés dans un autre contrôle en utilisant les détails de ligne (visibilitymode = visiblewhenselected). J'aime vraiment comment cela fonctionne, mais je préfère que la grille affiche les détails de la ligne quand un bouton "+" est pressé, tout comme un arbre se développera lorsque vous cliquez sur un nœud.Datagrid imbriqué Silverlight - Row Détails fonctionne très bien, mais je veux un bouton!
J'ai essayé de définir par programme le modèle en utilisant des ressources comme celui-ci:
<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>
Et dans le cas de LoadingRowDetails de la grille, je choisirais quel modèle défini par:
e.Row.DetailsTemplate = (DataTemplate)LayoutRoot.Resources["SongTemplate"];
Ce sortof travaillé , mais j'ai trouvé que j'avais des problèmes avec l'effondrement du modèle de détails des lignes précédentes, et même s'est écrasé ie8 (pas sûr si c'est lié).
Fondamentalement, j'aime vraiment comment fonctionne la grille de données silverlight 3, et même comment la substance rowdetailstemplate est implémentée. Je voudrais simplement différer le chargement de tous les détails jusqu'à ce qu'une rangée soit étendue intentionnellement (comme le ferait un arbre). Toutes les grilles de 3ème partie semblent faire cela, et microsoft est si proche. Est-ce que quelqu'un a une idée de comment résoudre celui-ci?
Merci, Dennis
Je me demandais comment vous allez désactiver le ToggleButton sur la ligne qui est sélectionnée lorsque vous cliquez sur le bouton d'une nouvelle ligne? –