0
我有一個wpf用戶控件,綁定到數據表的數據網格。列是自動生成的。出於某種原因,綁定的布爾值不會顯示爲已檢查。我有的文本列正確顯示。這裏是我的代碼有:WPF - 將數據網格綁定到數據表,自動生成的列,布爾值沒有標記爲檢查
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();
}
似乎適合我。 – AQuirky
具體來說,我所看到的是dataRow [2]沒有在網格中顯示,即使它被設置爲true。 –