8,735
社区成员
发帖
与我相关
我的任务
分享
<DataGrid x:Name="dgMain" CanUserAddRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="+0" Binding="{Binding Value0}" Width="*">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Background" Value="{Binding Value0}"/>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
SingleData d = new SingleData();
d.Value0 = 5;
d.Value1 = 10;
list.Add(d);
DataGridTextColumn column = new DataGridTextColumn();
column.Header = "+0";
Binding bind = new Binding();
bind.Path = new PropertyPath("Value0");
column.Binding = bind;
dgMain.Columns.Add(column);
dgMain.ItemsSource = list;
DataGridTemplateColumn column = new DataGridTemplateColumn();
column.Header = "+1";
column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
DataTemplate dt = new DataTemplate();
FrameworkElementFactory fef = new FrameworkElementFactory(typeof(TextBlock));
Binding bind = new Binding("Value1");
fef.SetBinding(TextBlock.TextProperty, bind);
//**************
Binding bindColor = new Binding("Value1");
bindColor.Converter = new BackgroundValueToColor();
fef.SetBinding(TextBlock.BackgroundProperty, bindColor);
dt.VisualTree = fef;
column.CellTemplate = dt;
dgMain.Columns.Add(column);
dgMain.ItemsSource = list;