Partilhar via


DataGrid.RowDetailsTemplate Propriedade

Definição

Obtém ou define o modelo usado para exibir os detalhes das linhas.

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

Valor da propriedade

O modelo usado para exibir os detalhes das linhas. O padrão registrado é null. Para obter mais informações sobre o que pode influenciar o valor, consulte DependencyProperty.

Exemplos

O exemplo a seguir mostra um DataGrid com uma RowDetailsTemplate linha embutida definida. O DataGrid exibe três valores em cada linha e mais três valores na seção de detalhes quando a linha é selecionada. Este exemplo faz parte de um exemplo maior disponível no tópico Como adicionar detalhes de linha a um controle 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>

Comentários

Você pode personalizar a apresentação de dados na DataGrid seção adicionando detalhes de uma linha. Adicionar uma seção de detalhes de linha permite agrupar alguns dados em um modelo que fica opcionalmente visível ou recolhido.

Defina o modelo de detalhes de linha como XAML embutido ou como um recurso. Um modelo de dados adicionado como um recurso pode ser usado em todo o projeto sem recriar o modelo. Um modelo de dados que é adicionado como XAML embutido só é acessível pelo controle no qual ele está definido.

Você pode modificar o RowDetailsTemplate antes de ser exibido manipulando o LoadingRowDetails evento. Você deve manipular o UnloadingRowDetails evento para desfazer as alterações feitas ao carregar os detalhes da linha.

Aplica-se a

Confira também