1

wpf にデータグリッドがあり、そのプロパティの一部のみをグリッドに表示したい構造体のリストがあります。

例えば

public struct Person
{
   public int age;
   public string name;
   public string hobby;
} 

private List<Person> lst=new List<Person>();

データグリッドに名前と年齢だけを表示したいです。どうすればループでそれを行うことができますか?

私はこれをします

foreach(Person p in lstp)
{ 
   datagrid.Items.Add(p.name);
} 

しかし、何も表示されません。

4

2 に答える 2

3

構造体にはプロパティは含まれず、フィールドのみが含まれます。また、文字列を直接追加することになります。

匿名オブジェクトを追加できます。それらはプロパティを使用します。

...Add(new { Name = p.name, Age = p.age })

(または、構造体にプロパティを追加して直接追加することもできます。表示したいプロパティよりも多くのプロパティがある場合は、列を手動で作成してAutoGenerateColumnオフにします)

于 2012-06-17T18:46:54.120 に答える
0
  datagrid.ItemSource = lst;

これを試して。

申し訳ありませんが、アイデアを失いました.... [Browsable(false)] 属性で不要なプロパティをマークするだけです

于 2012-06-18T02:33:43.130 に答える