Ich benutze ein Silverlight 3 Datagrid, und innerhalb dieser verschachtelte ich verwandte Datensätze in einem anderen Steuerelement mithilfe der RowDetails (VisibilityMode = Visiblewhenselected).Nested Silverlight Datagrid - Row Details funktioniert gut, aber ich möchte eine Schaltfläche!
Ich mag wirklich, wie das funktioniert, aber ich würde viel lieber das Raster die Zeilendetails anzeigen, wenn eine "+" Schaltfläche gedrückt wird, ähnlich wie eine Struktur erweitert wird, wenn Sie auf einen Knoten klicken.
Ich habe versucht, programmatisch die Vorlage definieren, indem sie Ressourcen wie folgt aus:
<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>
und in der LoadingRowDetails Veranstaltung Gitter, würde ich wählen, welche Vorlage eingestellt von:
e.Row.DetailsTemplate = (DataTemplate)LayoutRoot.Resources["SongTemplate"];
Diese sortof gearbeitete , aber ich habe festgestellt, dass ich Probleme mit dem Kollabieren von vorherigen Zeilen Detailvorlage hatte, und stürzte sogar ie8 (nicht sicher, ob das verwandt ist).
Grundsätzlich mag ich wirklich, wie das Silverlight 3 Datagrid funktioniert, und sogar wie das rowdetemplated Zeug implementiert ist. Ich möchte einfach das Laden von Details verzögern, bis eine Zeile absichtlich erweitert wird (wie ein Baum wäre). Alle Gitter von Drittanbietern scheinen dies zu tun, und Microsofts ist so nah. Hat jemand eine Idee, wie man das löst?
Danke, Dennis
Nur frage mich, wie Sie deaktivieren den ToggleButton in der Zeile, die ausgewählt ist, wenn Sie auf die Schaltfläche einer neuen Zeile klicken? –