所以我想说我有一个自定义类:
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不应该是粗体。
我可以这样做吗?
答案 0 :(得分:10)
我会在隐式DataTrigger
Style
<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>