次の方法で共有


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

プロパティ値

Style

DataGrid のすべての行ヘッダーに適用されるスタイル。 登録済みの既定値は null です。 この値が何に影響されるかの詳細については、DependencyProperty のトピックを参照してください。

次の例では、値コンバーターを使用してバインドを適用して行ヘッダーのプロパティに番号付きの行を表示する方法をContentDataGridRowHeader示します。 コンバーターは、名前空間をマッピングし、クラスのインスタンスを作成することによって、リソースとして作成されます。 詳しくは、「 データ バインディングの概要」をご覧ください。

<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

注釈

a Style を適用して、内のすべての行ヘッダーの外観を更新します DataGrid。 行ヘッダーのStyle定義には、次のDataGridRowHeader値をTargetType指定します。

また、このプロパティを RowHeaderStyle 使用して、次の任意のプロパティを DataGridRowHeader更新することもできます。

A Style は、すべての行ヘッダーまたは個々の行ヘッダーに適用できます。 個々の Style ヘッダーに a を適用するには、プロパティよりも DataGridRow.HeaderStyle 優先されるプロパティを DataGrid.RowHeaderStyle 設定します。

適用対象

こちらもご覧ください