DataGrid.RowHeaderStyle Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o estilo aplicado a todos os cabeçalhos de linhas.
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
Valor da propriedade
O estilo aplicado a todos os cabeçalhos de linha no DataGrid. O padrão registrado é null
. Para obter mais informações sobre o que pode influenciar o valor, consulte DependencyProperty.
Exemplos
O exemplo a seguir mostra como exibir linhas numeradas no cabeçalho de linha aplicando uma associação com um conversor de valor à Content propriedade do DataGridRowHeader. O conversor é criado como um recurso mapeando o namespace e criando uma instância da classe. Para obter mais informações, consulte Visão geral da associação de dados.
<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
Comentários
Aplique um Style para atualizar a aparência visual de todos os cabeçalhos de linha no DataGrid. Para definir um Style cabeçalho de linha, especifique um TargetType de DataGridRowHeader.
Você também pode usar a RowHeaderStyle propriedade para atualizar qualquer propriedade de DataGridRowHeader.
Um Style pode ser aplicado a todos os cabeçalhos de linha ou a um cabeçalho de linha individual. Para aplicar um Style cabeçalho individual, defina a DataGridRow.HeaderStyle propriedade, que tem precedência sobre a DataGrid.RowHeaderStyle propriedade.