次の方法で共有


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 のトピックを参照してください。

次の例は、 DataGrid が定義されたインラインを RowDetailsTemplate 示しています。 では DataGrid 、各行に 3 つの値が表示され、行が選択されたときに詳細セクションにさらに 3 つの値が表示されます。 この例は、「 How to: Add Row Details to a DataGrid Control 」トピックで使用できるより大きな例の一部です。

<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 として追加されたデータ テンプレートは、それが定義されているコントロールからのみアクセスできます。

イベントを RowDetailsTemplate 処理することで、 が表示される前に を LoadingRowDetails 変更できます。 行の詳細の UnloadingRowDetails 読み込み中に行われた変更を元に戻すには、イベントを処理する必要があります。

適用対象

こちらもご覧ください