WPF - 将数据网格绑定到数据表,自动生成的列,布尔值未标记为选中



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();
    }

我弄清楚了。它与绑定无关。我的圆柱标头在运行时可用,有期间"。在他们中。显然,这是一个打破列标题的问题。当我删除该期间时,它可以正常工作。

最新更新