Поделиться через


DataGrid.RowHeaderStyle Свойство

Определение

Возвращает или задает стиль, применяемый ко всем заголовкам строк.

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

Значение свойства

Стиль, применяемый ко всем заголовкам строк в списке DataGrid. Зарегистрировано значение по умолчанию null. Дополнительные сведения о том, что может повлиять на значение, см. в разделе DependencyProperty.

Примеры

В следующем примере показано, как отобразить нумерованные строки в заголовке строки, применив привязку с преобразователем значений к Content свойству объекта DataGridRowHeader. Преобразователь создается как ресурс, сопоставляя пространство имен и создавая экземпляр класса. Дополнительные сведения см. в разделе "Обзор привязки данных".

<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

Комментарии

Примените для Style обновления визуального вида всех заголовков строк в элементе DataGrid. Чтобы определить Style заголовок строки, укажите значение TargetTypeDataGridRowHeader.

Вы также можете использовать RowHeaderStyle свойство для обновления любого свойства DataGridRowHeader.

Можно Style применить ко всем заголовкам строк или к отдельному заголовку строки. Чтобы применить к Style отдельному заголовку, задайте DataGridRow.HeaderStyle свойство, которое имеет приоритет над свойством DataGrid.RowHeaderStyle .

Применяется к

См. также раздел