DataGrid.RowDetailsTemplate 属性

定义

获取或设置用于显示行详细信息的模板。

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

属性值

用于显示行详细信息的模板。 已注册的默认值为 null。 有关可以影响值的因素的更多信息,请参见 DependencyProperty

示例

以下示例演示了一个DataGridRowDetailsTemplate内联已定义的 。 DataGrid选择行时, 每行显示三个值,在详细信息部分显示另外三个值。 此示例是 如何:向 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>

注解

可以通过添加行详细信息部分来自定义 中的数据 DataGrid 表示形式。 通过添加行详细信息部分,可对模板中的一些可见或折叠(可选)数据进行分组。

将行详细信息模板定义为内联 XAML 或资源。 可在整个项目中使用作为资源添加的数据模板,而无需重新创建模板。 作为内联 XAML 添加的数据模板只能从定义它的控件访问。

可以通过处理 LoadingRowDetails 事件,RowDetailsTemplate在显示之前对其进行修改。 应处理 UnloadingRowDetails 事件以撤消加载行详细信息时所做的更改。

适用于

另请参阅