我是WPF的新手(之前我曾使用过Windows Forms)并且我多次使用过DataGridView元素,但是现在我已经在WPF中切换到了DataGrid而且我遇到了麻烦...
我想要做的是当我点击名为size的按钮时,使用名为sizeBox的textBox中输入的尺寸“创建”DataGrid。在代码中的事件内部,我有以下几行:
try
{
System.Data.DataTable dt = new System.Data.DataTable();
int size;
int i = 0;
size = Convert.ToInt32(this.sizeBox.Text);
int sizegridh = Grid.Size.Height;
int sizegridw = Grid.Size.Width;
int sizecellh = sizegridh / size;
int sizecellw = sizegridw / size;
for (i = 1; i <= size; i++)
{
dt.Columns.Add();
dt.Rows.Add();
Grid.DataSource = dt;
}
for (i = 1; i <= size; i++)
{
Grid.Rows[i - 1].Height = sizecellh;
Grid.Columns[i - 1].Width = sizecellw;
}
}
这段代码应该做的是,例如,如果我们输入数字5,在现有DataView上创建一个5x5网格,在我们输入值之前它是空的。
我遇到的问题是:
提前致谢!
答案 0 :(得分:1)
相同
Grid.Size.Height
不是有效命令,我找不到 WPFDataGrid
中的等效性,与Width
有Width
和Height
属性
但是,在设置之前,请注意,WPF是基于 layout 的,而WinForms
基于坐标。简而言之,当您想要明确设置大小时,有相当罕见的情况。在继续之前,我强烈建议您阅读layout controls。
Grid.DataSource = dt;
不起作用
因为有ItemsSource
。
Grid.Rows[i]
或Columns
不是选择特定值的正确方法吗?
WPF就是data binding。不要尝试使用像WinForms中的WPF控件。