【发布时间】:2016-07-23 03:27:58
【问题描述】:
我正在为自己编写一本用 WPF/C# 编写的食谱。 此外,我是数据绑定的新手。
我的问题是,我想在运行时在代码后面的 TabItem 中生成一个 Datagrid,包括绑定。我无法在 XAML 中设置 Datagrid,因为我想动态创建所有 TabItem。
到目前为止的代码如下:
XAML:
<UniformGrid Columns="2" Rows="1">
<TabControl Name="TabControl" TabStripPlacement="Left"/>
<TabItem Header= "first dish" Name = "firstdish"/>
</UniformGrid>
XAML.cs 生成:
//New Grid
var Grid = new DataGrid();
//Start Test list creation with three items
var TestList = new List<Receipt>();
//Set binding
Grid.ItemsSource = TestList;
var Rec = new Receipt();
Rec.Creator = "DaJohn1";
Rec.ID = 1;
Rec.Title = "TestReceipt1";
var Rec2 = new Receipt();
Rec2.Creator = "DaJohn2";
Rec2.ID = 2;
Rec2.Title = "TestReceipt2";
var Rec3 = new Receipt();
Rec3.Creator = "DaJohn3";
Rec3.ID = 3;
Rec3.Title = "TestReceipt3";
TestList.Add(Rec);
TestList.Add(Rec2);
TestList.Add(Rec3);
//End Test list creation
//Add Column
var SingleColumn = new DataGridTextColumn();
Grid.Columns.Add(SingleColumn);
SingleColumn.Binding = new Binding("Creator");
SingleColumn.Header = "Creator";
//Add Column
var SingleColumn2 = new DataGridTextColumn();
Grid.Columns.Add(SingleColumn2);
SingleColumn2.Binding = new Binding("Title");
SingleColumn2.Header = "Title";
//Set tabitem content to datagrid
firstdish.Content = Grid;
我得到的只是一个有四行的数据网格(看起来项目的数量是正确的),它们都是空的,没有数据可以看到。 自上周星期一以来,我一直在盯着这个问题,但在任何地方都找不到答案。
感谢您提供任何想法和解决方案。
【问题讨论】:
-
Receipt 类中的 Creator 变量是否公开?为了让 UI 访问它,它需要如下所示: public string Creator {get;set;}