i具有一个wpf用户控件,其中包含数据表的datagrid。列是自动化的。由于某种原因,绑定的布尔值未显示为检查。我已经正确显示的文本列。这是我拥有的代码:
xaml:
<DataGrid
ItemsSource="{Binding Data.DefaultView}"
Grid.ColumnSpan="2"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
CanUserSortColumns="False"
CanUserResizeColumns="True"
CanUserResizeRows="True"
/>
查看模型中的代码:
public void SetupDataTable()
{
this.Data = new DataTable();
var column = this.Data.Columns.Add("#", typeof(int));
column.ReadOnly = true;
column = this.Data.Columns.Add("Description", typeof(string));
column.ReadOnly = true;
column = this.Data.Columns.Add(this.CurrentReliefDevice.ToString(), typeof(bool));
column.ReadOnly = true;
foreach (var reliefDevice in this.OtherReliefDevices)
{
this.Data.Columns.Add(reliefDevice.ToString(), typeof(bool));
}
foreach (var pipeItem in this.PipeItems)
{
var dataRow = this.Data.NewRow();
dataRow[0] = pipeItem.PipeItemNumber;
dataRow[1] = pipeItem.PipeItemType?.ShortName;
dataRow[2] = true;
var array = this.OtherReliefDevices.ToArray();
for (var i = 0; i < array.Count(); i++)
{
dataRow[i + 3] = pipeItem.AssociatedReliefDevices.Contains(array[i]);
}
this.Data.Rows.Add(dataRow);
}
this.Data.AcceptChanges();
}
我弄清楚了。它与绑定无关。我的圆柱标头在运行时可用,有期间"。在他们中。显然,这是一个打破列标题的问题。当我删除该期间时,它可以正常工作。