Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何在datagrid中动态添加行_Wpf_Wpfdatagrid_Wpftoolkit - Fatal编程技术网

Wpf 如何在datagrid中动态添加行

Wpf 如何在datagrid中动态添加行,wpf,wpfdatagrid,wpftoolkit,Wpf,Wpfdatagrid,Wpftoolkit,我正在使用WPF应用程序 在此表单中,有一个gridview和一个按钮 我使用的是ObservableCollection,它有一个泛型和一个类代码,如下所示 public partial class MainWindow : Window { public ObservableCollection<gm> data1 = new ObservableCollection<gm>(); public MainWindow()

我正在使用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; }
    }
}
公共部分类主窗口:窗口
{
public ObservableCollection data1=新的ObservableCollection();
公共主窗口()
{
初始化组件();
}
//公共ObservableCollection数据{get{return data1;}}
私有无效按钮1\u单击\u 1(对象发送者,路由目标)
{
data1.Add(new gm(){no=2,name=“vipul”});
dataGrid1.ItemsSource=data1.ToArray();
}
}
公共级总经理
{
公共int no{get;set;}
公共字符串名称{get;set;}
}
}
当我执行上述代码时,它会在datagrid中添加空行 请给我这个问题的解决办法 我想知道如何在datagird运行时添加行


提前感谢

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

xaml


编辑:要获得WPF的强大功能,请查看数据绑定/MVVM,XAML如下所示:

<DataGrid ItemsSource="{Binding}" /> 
并删除此行:

dataGrid1.ItemsSource = data1.ToArray();
在XAML中,只需检查以下内容

  • 您将datagrid的数据源设置为
    {Binding Path=“data1”}
  • no的DataColumn已绑定到
    {binding Path=“no”}
  • name的DataColumn具有到
    {binding path=“name”}
  • public MainWindow()
    {
        InitializeComponent();
        DataContext = data1;
    }
    
    dataGrid1.ItemsSource = data1.ToArray();
    
     data1.Add(new gm { no = 2, name = "vipul" }); // Remore ellipsis around gm.