私は現在、カスタムキャンバスに取り組んでおり、その中でテーブルを追加する必要があるため、dataGrid は問題ないと思いました。SO i は、ユーザーが実行時にテーブルをキャンバスに追加できる「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; }
}
}