我试图在 DataGrid 中创建一个列,它只不过是一个纯色的矩形。此列使用以下 XAML 定义。
<DataGrid x:Name="MeasurementGrid" AutoGenerateColumns="False"
AlternatingRowBackground="Azure" SelectionUnit="FullRow"
HeadersVisibility="Column" VerticalGridLinesBrush="AntiqueWhite"
HorizontalGridLinesBrush="AntiqueWhite">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Rectangle Width="16" Height="16">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=Color, Mode=OneWay}" />
</Rectangle.Fill>
</Rectangle>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Energy" Width="75" Binding="{Binding Path=Energy}"></DataGridTextColumn>
<DataGridTextColumn Header="Field Size" Width="100" Binding="{Binding Path=FieldSize}"></DataGridTextColumn>
<DataGridTextColumn Header="Type" Width="200" Binding="{Binding Path=FriendlyType}"></DataGridTextColumn>
<DataGridTextColumn Header="Depth" Width="75" Binding="{Binding Path=Depth}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
问题是,虽然我的这个网格的数据源确实有一个名为“Color”的属性,但我的 XAML 中定义的solidcolorbrush 没有使用这个值。可以看出,我确实有其他列也绑定了,并且在运行时进行了适当的绑定。