c# - 如果该行项为真,如何使数据网格的一行变为粗体?

标签 c# wpf datagrid

假设我有一个自定义类:

Class Elements{

    int width;
    int height;
    bool isBol;

}

主要是我有类似的东西:

Public class MainWindow{

    DataGrid dgv = new DataGrid();
    List<Elements> elem = new List<Elements() { 
         new Element(){width=100, height = 200, isBold = false}, 
         new Element(){ width=20, height=100, isBold = true}
    };

    dgv.ItemsSource = elem;

    dgv.Columns.Add(new DataGridTextColumn() { 
           Header = "Width", Binding = new Binding("width")}
    dgv.Columns.Add(new DataGridTextColumn() { 
           Header = "Height", Binding = new Binding("height")}

}

所以它只是一个简单的表格,有 2 列,宽度和高度。

如何根据 bool 值 isBold 使一行显示为粗体?在我上面的示例中,20x100 行在表格中应显示为粗体,而 100x200 不应为粗体。

我可以这样做吗?

最佳答案

我会在隐式 Style 中使用 DataTrigger

<DataGrid.Resources>
    <Style TargetType="{x:Type DataGridRow}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding isBold}" Value="True">
                <Setter Property="FontWeight" Value="Bold" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</DataGrid.Resources>

关于c# - 如果该行项为真,如何使数据网格的一行变为粗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11693256/

相关文章:

wpf - 合并标题列数据网格 wpf

c# - WPF DataGrid 单元格值更改事件

c# - 如何在 C# 中与 Windows Media Player 交互

c# 创建自定义 "double"类型

C#-Windows CE : form translation independent of OS culture settings

c# - 不能继承Shapes

c# - 对用户单击已选择的ListViewItem,MVVM使用react

c# - 使用转换器设置 WPF 单元格样式

c# - 将 DataGrid 绑定(bind)到具有自定义对象类型列的 DataTable

c# - 在不安装 Excel 的情况下运行 Excel 宏