我目前正在开发一个自定义画布,在其中我需要添加一个表格,所以我认为DataGrid会很好用。因此,我想通过从DataGrid中创建"Table"的方式,让用户可以在运行时向画布添加表格。
到目前为止,我已经尝试使用列表填充DataGrid,并且成功了。
如何在运行时向Datagrid添加列,这样列的数量和标题值将从用户在文本框中输入的内容中获取,并且根据文本框的值,Datagrid应该添加列和标题值。
实际上,我想要开发一个表格,其中用户传递列数和列头,然后表格就被生成了。
或者
"您能否建议我寻找一种方法来使用DrawingVisual类进行绘制"?
这是GraphicsTable类的一部分。
到目前为止,我已经尝试使用列表填充DataGrid,并且成功了。
如何在运行时向Datagrid添加列,这样列的数量和标题值将从用户在文本框中输入的内容中获取,并且根据文本框的值,Datagrid应该添加列和标题值。
实际上,我想要开发一个表格,其中用户传递列数和列头,然后表格就被生成了。
或者
"您能否建议我寻找一种方法来使用DrawingVisual类进行绘制"?
这是GraphicsTable类的一部分。
//Custom Classes "DrawingCanvas & GraphicsTable"
public void CreateDataGrid(GraphicsTable graphicsTable, DrawingCanvas drawingCanvas)
{
dt = new DataGrid();
dt.Name = "Data";
dt.ItemsSource = person();
dt.AllowDrop = true;
dt.AutoGenerateColumns = true;
dt.Height = graphicsTable.Rectangle.Height;
dt.Width = graphicsTable.Rectangle.Width;
drawingCanvas.Children.Add(dt);
Canvas.SetTop(dt, graphicsTable.Rectangle.Top);
Canvas.SetLeft(dt, graphicsTable.Rectangle.Left);
dt.Width = dt.Width;
dt.Height = dt.Height;
dt.Focus();
}
//I have just tried to add dome dummy data to the datagrid.
public List<Person> person()
{
List<Person> peep = new List<Person>();
peep.Add(new Person() {});
return peep;
}
public class Person
{
private string name;
private double salary;
public string Names
{
get { return name; }
set { name = value; }
}
public double Salary
{
get { return salary; }
set { salary = value; }
}
}