使第0列在DataGrid大胆

时间:2019-01-31 18:22:11

标签: c# wpf xaml

我将一个数据表绑定到dataGened并将AutoGenerateColumns设置为true。现在,我要使第0列中的文本为粗体。我该怎么做。请帮忙。我指的是这篇帖子change single row to bold,但它显示了如何获取行,但我想获取第0列。我可以做这样的事情,但它改变了所有单元的字体。我只希望第0列为粗体。

 <DataGrid.CellStyle>
                        <Style TargetType="{x:Type DataGridCell}">
                            <Style.Setters>
                                <Setter Property="FontWeight"
                                        Value="Bold"/>
                            </Style.Setters>
                        </Style>
                    </DataGrid.CellStyle>

xaml

<DataGrid Grid.Row="0" Grid.Column="0" IsReadOnly="True" ColumnWidth="*" FontSize="16" ScrollViewer.VerticalScrollBarVisibility="Auto" HeadersVisibility="None" CanUserAddRows="False" AutoGenerateColumns="True" ItemsSource="{Binding RunViewModel.RunInfoDataTable}" >
                <DataGrid.RowStyle>
                    <Style TargetType="DataGridRow">
                        <Setter Property="MinHeight" Value="28"/>
                    </Style>
                </DataGrid.RowStyle>
            </DataGrid>

2 个答案:

答案 0 :(得分:1)

你能这样尝试吗?

指定每个列绑定,然后将样式设置为相应的列。

还要使用列样式ex:DataGridTextColumn.CellStyle

有些类似以下内容:

<DataGrid ........................>

  <DataGrid.Columns>
      <!--COLUMN1-->
      <DataGridTextColumn Binding="{Binding columnone}">
            <!--SET YOUR COLUMN SPECIFIC STYLE HERE.-->
            <DataGridTextColumn.CellStyle>
                <Style TargetType="{x:Type DataGridCell}">
                            <Style.Setters>
                                <Setter Property="FontWeight"
                                        Value="Bold"/>
                            </Style.Setters>
                 </Style>
             </DataGridTextColumn.CellStyle>

      </DataGridTextColumn>

      <!--COLUMN2-->
      <DataGridTextColumn Binding="{Binding columntwo}">
      </DataGridTextColumn>

      <!--COLUMN3-->
      <DataGridTextColumn Binding="{Binding columnthree}">
      </DataGridTextColumn>

  </DataGrid.Columns>

</DataGrid>

答案 1 :(得分:0)

<DataGrid.Columns>
    <DataGridTextColumn Header="HEADER_NAME" Width="40" FontWeight="Bold" Binding="{Binding COLUMN_NAME}" ElementStyle="{StaticResource WrapText}"/>
</DataGrid.Columns>

您只需将“ FontWeight =” Bold“ 添加到DataGridTextColumn。