-1

そのため、さまざまな形式のテーブルを作成しようとしています。私が現在苦労しているのは、XAML でコーディングして、WPF の Datagrid の列ヘッダーの色を調整する方法です。私が見つけたのは、すべての列ヘッダーをフォーマットする方法だけです。それぞれを個別にフォーマットする方法はありますか?

私のコードは現在次のようになっています。

    <DataGrid x:Name="CellStyleGrid" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="309,50,0,0" IsReadOnly="False" IsEnabled="True" CanUserAddRows="True" Width="172" RenderTransformOrigin="0.501,0.477" SelectionUnit="Cell" Grid.ColumnSpan="2" AlternatingRowBackground="#C2C2C2" AlternationCount="2" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Path=col1}" ClipboardContentBinding="{x:Null}" Header="Col1" CanUserResize="True"/>
            <DataGridTextColumn Binding="{Binding Path=col2}" ClipboardContentBinding="{x:Null}" Header="Col2" CanUserResize="True"/>
            <DataGridTextColumn Binding="{Binding Path=col3}" ClipboardContentBinding="{x:Null}" Header="Col3" CanUserResize="True"/>
        </DataGrid.Columns>
        <DataGrid.ColumnHeaderStyle>
            <Style TargetType="{x:Type DataGridColumnHeader}">
                <Setter Property="Background" Value="#3B3B3B"/>
                <Setter Property="Foreground" Value="White"/>
            </Style>
        </DataGrid.ColumnHeaderStyle>
    </DataGrid>

このコードは、3 つの列を持つ単純なテーブルを作成し、ヘッダーの色を濃い灰色、前景テキストを白にします。ヘッダーの 1 つを明るいグレーにすることを検討しています。ありがとう!ジョン

4

1 に答える 1

1

AutoGenerateColumns を false に設定し、各列定義で DataGridXColumn.HeaderStyle を指定します。大まかな例を次に示します。

<DataGrid AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{SomeBinding}">
            <DataGridTextColumn.HeaderStyle>
                    <Style>
                        <Setter Property="InkCanvas.Background"
                                Value="Blue" />
                    </Style>
                    </DataGridTextColumn.HeaderStyle>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>
于 2016-03-18T14:09:21.950 に答える