0

我正在使用这种形式的 WPF 应用程序有一个 gridview 和一个按钮

我正在使用 ObservableCollection 有这样的通用代码和一个类代码

public partial class MainWindow : Window
{
        public ObservableCollection<gm> data1 = new ObservableCollection<gm>();
        public MainWindow()
        {
            InitializeComponent();
        }
      //  public ObservableCollection<gm> data { get { return data1; } }

        private void button1_Click_1(object sender, RoutedEventArgs e)
        {

           data1.Add(new gm() { no = 2, name = "vipul" });
           dataGrid1.ItemsSource = data1.ToArray();
        }
    }
    public class gm
    {
        public int no { get; set; }
        public string name { get; set; }
    }
}

当我执行上面的代码时,它会在 datagrid 中添加空白行,请给我这个问题的解决方案我想知道如何在 datagrid 运行时添加行。

提前致谢

4

3 回答 3

0

XAML 是这样的:

<DataGrid ItemsSource="{Binding}" /> 

后面的代码是这样的:

public MainWindow()
{
    InitializeComponent();
    DataContext = data1;
}

并删除这一行:

dataGrid1.ItemsSource = data1.ToArray();
于 2012-04-27T11:31:07.180 回答
0
 data1.Add(new gm { no = 2, name = "vipul" }); // Remore ellipsis around gm.

在 XAML 中只需检查以下内容

  1. 你有你的数据网格的数据源{Binding Path="data1"}
  2. 没有绑定到的DataColumn{Binding Path="no"}
  3. 名称的 DataColumn 具有到的绑定路径{Binding Path="name"}
于 2012-04-27T11:32:29.230 回答
0

将 autogeneratecolumns 设置为 true 并将 data1 设置为 itemssource

xml

 <DataGrid x:Name="dataGrid1" AutoGenerateColumns="True" />

编辑:要获得 WPF 的强大功能,请查看 DataBinding/MVVM

于 2012-04-27T11:26:39.543 回答