私はdataGrid
に2つのカラムがあり、それらのカラムに.csファイルの行をdataGrid1.Items.Add()
で追加したいとします。dataGrid、datagrid.item.add confusionにアイテムを追加する
私はそれがオブジェクトをとっていることは知っていますが、オブジェクトのどの値を取るかはどのように決定されますか?それはちょうど新しい行をdataGridに入れるためのジェネリッククラスを作成するのが面倒です、これを行う別の方法はありますか?
私は一般的なオブジェクトを持っているので、どのようにして.Add
がdataGrid1に名前と年齢を追加するようにしますか?
ジェネリッククラス:
namespace myApp
{
public class generic
{
private string name;
private int age;
public generic(string n, int a)
{
name = n;
age = a;
}
public string getName()
{
return name;
}
public int getAge()
{
return age;
}
}
}
私はdataGrid1.Items.Add(new Item("Ann", 21))
を試みました。 //空のセルの行を表示します。私はその後、
DataGridTextColumn nameColumn = new DataGridTextColumn();
DataGridTextColumn ageColumn = new DataGridTextColumn();
nameColumn.Header = "name";
nameColumn.Binding = new Binding("name");
dataGrid1.Columns.Add(nameColumn);
ageColumn.Header = "age";
ageColumn.Binding = new Binding("age");
dataGrid1.Columns.Add(ageColumn);
:私のCSファイルの私の.xamlで
<DataGrid x:Name="dataGrid1" VerticalAlignment="Top" />
:私は、これはより多くの情報のため
編集をどのように動作するかのまわりで私の頭をラップカントクリックするたびに新しい名前と年齢が生成され、それをdataGrid1に追加するというクリック機能があります
DataGrid内のすべてのアイテムが同じタイプで、AutoGenerateColumnsがオンになっている場合は、 'getter'を持つpublicプロパティに基づいてカラムを生成します:' public String Name {get;保護されたセット。 } 'などです。年齢も同じです。次に、DataGridにXAMLを共有して、行の定義方法を確認できるようにすると役に立ちます。 –
DataGridには、コード内にこれらのものをすべて書き込むのではなく、ビューモデルに属するObservableCollectionを設定する必要がありますが、一度に1ステップずつ行うことができます。 –
私は私のポストを編集しました。もっと理にかなっていますか?ありがとう。 'viewmodelに属するobservablecollectionを持つデータグリッドを生成する 'ということに何らかの問題があります。 – user308553