DataGrid.RowDetailsTemplate Propriété

Définition

Obtient ou définit le modèle utilisé pour afficher les détails des lignes.

public:
 property System::Windows::DataTemplate ^ RowDetailsTemplate { System::Windows::DataTemplate ^ get(); void set(System::Windows::DataTemplate ^ value); };
public System.Windows.DataTemplate RowDetailsTemplate { get; set; }
member this.RowDetailsTemplate : System.Windows.DataTemplate with get, set
Public Property RowDetailsTemplate As DataTemplate

Valeur de propriété

Modèle utilisé pour afficher les détails des lignes. La valeur par défaut enregistrée est null. Pour plus d'informations sur ce qui peut influencer la valeur, consultez DependencyProperty.

Exemples

L’exemple suivant montre un DataGrid avec un RowDetailsTemplate inline défini. le DataGrid affiche trois valeurs dans chaque ligne et trois autres valeurs dans la section détails lorsque la ligne est sélectionnée. Cet exemple fait partie d’un exemple plus large disponible dans la rubrique Guide pratique pour ajouter des détails de ligne à un contrôle DataGrid .

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" 
        Loaded="Window_Loaded">
    <Grid>
        <DataGrid Name="dataGrid1" IsReadOnly="True" AutoGenerateColumns="False" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="Company Name" Binding="{Binding CompanyName}"></DataGridTextColumn>
                <DataGridTextColumn Header="Contact First Name" Binding="{Binding FirstName}"></DataGridTextColumn>
                <DataGridTextColumn Header="Contact Last Name" Binding="{Binding LastName}"></DataGridTextColumn>
            </DataGrid.Columns>
            <DataGrid.RowDetailsTemplate>
                <DataTemplate>
                    <Border BorderThickness="0" Background="BlanchedAlmond" Padding="10">
                        <StackPanel Orientation="Vertical">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock FontSize="12" Text="Email: " VerticalAlignment="Center" />
                                <TextBlock FontSize="16" Foreground="MidnightBlue" Text="{Binding EmailAddress}" VerticalAlignment="Center" />
                            </StackPanel>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock FontSize="12" Text="Phone: " VerticalAlignment="Center" />
                                <TextBlock FontSize="16" Foreground="MidnightBlue" Text="{Binding Phone}" VerticalAlignment="Center" />
                            </StackPanel>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock FontSize="12" Text="Sales Person: " VerticalAlignment="Center" />
                                <TextBlock FontSize="16" Foreground="MidnightBlue" Text="{Binding SalesPerson}" VerticalAlignment="Center" />
                            </StackPanel>
                        </StackPanel>
                    </Border>
                </DataTemplate>
            </DataGrid.RowDetailsTemplate>
        </DataGrid>
    </Grid>
</Window>

Remarques

Vous pouvez personnaliser la présentation des données dans le DataGrid en ajoutant une section de détails de ligne. L’ajout d’une section de détails de ligne vous permet de regrouper des données dans un modèle qui est éventuellement visible ou réduit.

Vous définissez le modèle de détails de ligne en tant que XAML inline ou en tant que ressource. Un modèle de données ajouté en tant que ressource peut être utilisé tout au long du projet sans recréer le modèle. Un modèle de données ajouté en tant que XAML inline n’est accessible qu’à partir du contrôle où il est défini.

Vous pouvez modifier avant qu’il RowDetailsTemplate ne s’affiche en gérant l’événement LoadingRowDetails . Vous devez gérer l’événement UnloadingRowDetails pour annuler les modifications apportées lors du chargement des détails de la ligne.

S’applique à

Voir aussi