3

所以假设我有一个自定义类:

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 不应该是粗体。

我可以这样做吗?

4

1 回答 1

11

我会DataTrigger在隐式中使用 aStyle

<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>
于 2012-07-27T18:12:02.813 回答