我有一个绑定到对象 PlacementData (PD) 的 DataGrid。PD 有一个属性“P_Unit”。
public class PlacementData
{
public bool PIsChecked { get; set; }
public string PlacementHeader { get; set; }
public string P_NumberOfCases { get; set; }
public int P_Value1 { get; set; }
public int P_Value2 { get; set; }
public int P_Value3 { get; set; }
public int P_Value4 { get; set; }
public int P_Value5 { get; set; }
public string P_Unit { get; set; }
}
在我的 DataGrid 中,我在 DataTemplateColumn 中添加了一个组合框。
<DataGridTemplateColumn x:Name="UnitColumn1" Header="Unit" MinWidth="80" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Text="{Binding P_Unit}">
<ComboBoxItem Content="kg/m3" IsSelected="True"/>
<ComboBoxItem Content="gm/cm3"/>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
在窗口开始时,我将 itemsource 设置为 4 行并添加了标题。
private List<PlacementData> datagrid1CollectionData()
{
List<PlacementData> authors = new List<PlacementData>();
authors.Add(new PlacementData()
{
PlacementHeader = "Based On Injection Rate",
});
authors.Add(new PlacementData()
{
PlacementHeader = "Based On Viscosity"
});
authors.Add(new PlacementData()
{
PlacementHeader = "Based On Sheer Thinning"
});
authors.Add(new PlacementData()
{
PlacementHeader = "k"
});
return authors;
}
dataGrid1.ItemsSource = datagrid1CollectionData();
我的每一行都需要不同的 Unit 组合框值。例如,第 1 行需要“kg, gm”,第 2 行需要“meter, cm, feet”,第 3 行需要“ltr, ml, ton”,第 4 行需要为空白。
如何设置这些值?我认为在每行创建时,我都可以创建一个 List 并将其作为 itemsource 分配给复选框。但是在上面的代码中这怎么可能。每行复选框的复选框 Itemsource ???