0

私はこのフォームでWPFアプリケーションを使用しており、1つのグリッドビューと1つのボタンがあります

私はObservableCollectionを使用していますが、ジェネリックとこのような1つのクラスコードがあります

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; }
    }
}

上記のコードを実行すると、データグリッドに空白行が追加されます。この問題の解決策を教えてください。データグリッド実行時に行を追加する方法を知りたいです。

前もって感謝します

4

3 に答える 3

0

autogeneratecolumns を true に設定し、data1 を itemssource として設定するだけです

xaml

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

編集: WPF の力を得るには、DataBinding/MVVM を調べます

于 2012-04-27T11:26:39.543 に答える
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. あなたはあなたのデータグリッドのDataSourceを持っています{Binding Path="data1"}
  2. no have binding の DataColumn{Binding Path="no"}
  3. name の DataColumn にはバインド パスがあります{Binding Path="name"}
于 2012-04-27T11:32:29.230 に答える