C# 通过单击行标题显示DataGrid行详细信息?

C# 通过单击行标题显示DataGrid行详细信息?,c#,wpf,expression-blend,C#,Wpf,Expression Blend,通常,单击行时会显示行详细信息。我想禁用此功能,以便单击DataGrid行仅选择它,而不显示行详细信息。我希望在用户单击行标题时显示行详细信息。如何执行此操作?要在单击行时阻止某人获取描述,请将此属性添加到网格: <DataGrid Name="dgPrimary" RowDetailsVisibilityMode="Collapsed"> <DataGrid x:Name="dgPrimary" RowDetailsVisibilityMode="Collapsed">

通常,单击行时会显示行详细信息。我想禁用此功能,以便单击DataGrid行仅选择它,而不显示行详细信息。我希望在用户单击行标题时显示行详细信息。如何执行此操作?

要在单击行时阻止某人获取描述,请将此属性添加到网格:

<DataGrid Name="dgPrimary" RowDetailsVisibilityMode="Collapsed">
<DataGrid x:Name="dgPrimary" RowDetailsVisibilityMode="Collapsed">
    <DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <StackPanel Margin="20,0,0,0" Orientation="Horizontal">
                <TextBlock FontWeight="Bold" Text="{Binding New}" />

            </StackPanel>
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Original}"
                            Header="File Name Before"
                            IsReadOnly="True" />
        <DataGridTextColumn Binding="{Binding New}"
                            Header="File Name After"
                            IsReadOnly="True" />
    </DataGrid.Columns>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="MouseEnter">
            <ei:ChangePropertyAction PropertyName="RowDetailsVisibilityMode">
                <ei:ChangePropertyAction.Value>
                    <DataGridRowDetailsVisibilityMode>Visible</DataGridRowDetailsVisibilityMode>
                </ei:ChangePropertyAction.Value>
            </ei:ChangePropertyAction>
        </i:EventTrigger>
        <i:EventTrigger EventName="MouseLeave">
            <ei:ChangePropertyAction x:Name="cpaLeave" PropertyName="RowDetailsVisibilityMode"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
</DataGrid>
dgPrimary.ItemsSource = Directory.GetFiles( @"C:\" )
                                    .Select( ( nm, index ) => new
                                    {
                                        Original = System.IO.Path.GetFileName( nm ),
                                        New = string.Format( "{0}_{1}{2}", System.IO.Path.GetFileNameWithoutExtension( nm ), index, System.IO.Path.GetExtension( nm ) )
                                    } );