【问题标题】:WPF Datagridview EquivalenciesWPF Datagridview 等效项
【发布时间】:2016-01-07 15:49:09
【问题描述】:

我对 WPF 很陌生(我以前使用过 Windows 窗体)并且我多次使用 DataGridView 元素,但现在我已经切换到 WPF 中的 DataGrid 并且我遇到了麻烦......

我想要做的是“创建”DataGrid,当我单击名为 size.在代码中的事件内部,我有以下几行:

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 Grid,在我们输入值之前它是空的。

我遇到的问题是:

  • Grid.Size.Height 不是一个有效的命令,我在 WPF 的 DataGrid 中找不到等效项,与 Width 相同
  • Grid.DataSource = dt;不工作
  • Grid.Rows[i] 或 Columns 不是选择某个值的正确方法,它是等价的吗?

提前致谢!

【问题讨论】:

    标签: c# wpf datagridview datagrid grid


    【解决方案1】:

    Grid.Size.Height 不是有效命令,我找不到 WPF 的DataGrid 等价,与Width 相同

    有Width 和Height 属性。
    但是,在设置它们之前,请注意,WPF 是基于布局的,而 WinForms 是基于坐标的。简而言之,当您想显式设置大小时,这种情况很少见。在继续之前,我强烈建议您阅读layout controls。

    Grid.DataSource = dt; 不起作用

    因为有ItemsSource。

    Grid.Rows[i] 或Columns 不是选择某个值的正确方法,它是等价的吗?

    WPF 就是关于data binding。不要尝试像在 WinForms 中那样使用 WPF 控件。

    【讨论】:

    • 我想做的是让用户介绍一个数字,比如说 5,然后创建一个空的(可见的)5x5“矩阵”。每个“单元”都有一个温度和另一个与其在矩阵上表示的坐标相关联的参数。我怎样才能创建这个“矩阵”,比如说,获取文本或写在第二行第三列单元格中的任何内容?谢谢!!
    猜你喜欢
    • 2017-07-15
    • 1970-01-01
    • 2010-10-27
    • 2020-08-31
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多