我正在使用WPF应用程序 在这种形式有一个gridview和一个按钮
我正在使用ObservableCollection有Generic和一个这样的类代码
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中添加空行 请给我解决这个问题 我想知道如何在datagird运行时添加行。
提前致谢
答案 0 :(得分:0)
将autogeneratecolumns设置为true,并将data1设置为itemssource
XAML
<DataGrid x:Name="dataGrid1" AutoGenerateColumns="True" />
编辑:获得WPF的强大功能,查看DataBinding / MVVM
答案 1 :(得分:0)
XAML是这样的:
<DataGrid ItemsSource="{Binding}" />
背后的代码是:
public MainWindow()
{
InitializeComponent();
DataContext = data1;
}
并删除此行:
dataGrid1.ItemsSource = data1.ToArray();
答案 2 :(得分:0)
data1.Add(new gm { no = 2, name = "vipul" }); // Remore ellipsis around gm.
在XAML中,只需检查以下内容
{Binding Path="data1"}
{Binding Path="no"}
{Binding Path="name"}