假设我有一个自定义类:
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/