Partager via


DataGrid.RowHeaderStyle Propriété

Définition

Obtient ou définit le style appliqué à tous les en-têtes de ligne.

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

Valeur de propriété

Style

Style appliqué à tous les en-têtes de lignes de DataGrid. 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 comment afficher des lignes numérotées dans l’en-tête de ligne en appliquant une liaison avec un convertisseur de valeurs à la Content propriété du DataGridRowHeader. Le convertisseur est créé en tant que ressource en mappant l’espace de noms et en créant une instance de la classe. Pour plus d’informations, consultez Vue d’ensemble de la liaison de données.

<Window.Resources>
    <local:ConvertItemToIndex x:Key="IndexConverter"/>     
</Window.Resources>
<Grid>
    <DataGrid Name="DG1" ItemsSource="{Binding}" CanUserAddRows="False" CanUserDeleteRows="False" >
        <!--Bind the Content property of the RowHeaderStyle to the Converter to create numbered rows-->
        <DataGrid.RowHeaderStyle>
            <Style TargetType="{x:Type DataGridRowHeader}">
                <Setter Property="Content" Value="{Binding Converter={StaticResource IndexConverter}}" />
            </Style>
        </DataGrid.RowHeaderStyle>
    </DataGrid>
</Grid>
public class ConvertItemToIndex : IValueConverter
{
    #region IValueConverter Members
    //Convert the Item to an Index
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        try
        {
            //Get the CollectionView from the DataGrid that is using the converter
            DataGrid dg = (DataGrid)Application.Current.MainWindow.FindName("DG1");
            CollectionView cv = (CollectionView)dg.Items;
            //Get the index of the item from the CollectionView
            int rowindex = cv.IndexOf(value)+1;

            return rowindex.ToString();
        }
        catch (Exception e)
        {
            throw new NotImplementedException(e.Message);
        }
    }
     //One way binding, so ConvertBack is not implemented
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }

    #endregion
}
Public Class ConvertItemToIndex
    Implements IValueConverter

    Public Function Convert(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
        Try
            'Get the CollectionView from the DataGrid that is using the converter 
            Dim dg As DataGrid = DirectCast(Application.Current.MainWindow.FindName("DG1"), DataGrid)
            Dim cv As CollectionView = DirectCast(dg.Items, CollectionView)
            'Get the index of the item from the CollectionView 
            Dim rowindex As Integer = cv.IndexOf(value) + 1

            Return rowindex.ToString()

        Catch e As Exception
            Throw New NotImplementedException(e.Message)
        End Try
    End Function

    Public Function ConvertBack(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
        Throw New NotImplementedException()
    End Function
End Class

Remarques

Appliquez un Style pour mettre à jour l’apparence visuelle de tous les en-têtes de ligne dans le DataGrid. Pour définir un Style en-tête de ligne, spécifiez un TargetType .DataGridRowHeader

Vous pouvez également utiliser la RowHeaderStyle propriété pour mettre à jour n’importe quelle propriété de DataGridRowHeader.

Un Style peut être appliqué à tous les en-têtes de ligne ou à un en-tête de ligne individuel. Pour appliquer un Style en-tête individuel, définissez la DataGridRow.HeaderStyle propriété, qui est prioritaire sur la DataGrid.RowHeaderStyle propriété.

S’applique à

Voir aussi