DataGrid.RowHeaderStyle Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Stil ab, der auf alle Zeilenheader angewendet wird, oder legt diesen fest.
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
Eigenschaftswert
Der Stil, der auf alle Zeilenheader im DataGrid-Objekt angewendet wird. Der registrierte Standardwert ist null
. Weitere Informationen zu Einflüssen auf diesen Wert finden Sie unter DependencyProperty.
Beispiele
Im folgenden Beispiel wird gezeigt, wie nummerierte Zeilen in der Zeilenüberschrift angezeigt werden, indem eine Bindung mit einem Wertkonverter auf die Content Eigenschaft des Werts angewendet DataGridRowHeaderwird. Der Konverter wird als Ressource erstellt, indem der Namespace zugeordnet und eine Instanz der Klasse erstellt wird. Weitere Informationen finden Sie unter "Übersicht über die Datenbindung".
<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
Hinweise
Wenden Sie eine Style Aktualisierung der visuellen Darstellung aller Zeilenüberschriften in der DataGrid. Wenn Sie eine Zeileüberschrift definieren möchten, geben Sie eine Style TargetType von .DataGridRowHeader
Sie können auch die RowHeaderStyle Eigenschaft verwenden, um eine beliebige Eigenschaft zu DataGridRowHeaderaktualisieren.
Eine Style kann auf alle Zeilenüberschriften oder auf eine einzelne Zeilenüberschrift angewendet werden. Wenn Sie eine Style auf eine einzelne Kopfzeile anwenden möchten, legen Sie die DataGridRow.HeaderStyle Eigenschaft fest, die Vorrang vor der DataGrid.RowHeaderStyle Eigenschaft hat.