PlayerとScorecardの2つのクラスがあります。 Scorecardには多数のプロパティがあり、Playerにはプロパティがあり、そのうちの1つはScorecardオブジェクトです。私は次に選手の配列を持っています。最初の列のPlayer's Nameプロパティを持つ各行にプレーヤーを表示するにはWPF Datagridをセットアップしますが、他の行のPlayerのScorecardオブジェクトのプロパティは表示するにはどうすればよいですか?ここでオブジェクトプロパティ内のオブジェクトをWPF Datagridにバインドする
はクラス...
class Scorecard
{
public Scorecard()
{
}
// Properties
public int Horses { get; set; } = -1;
public int Sheep { get; set; } = -1;
public int Cows { get; set; } = -1;
}
class Player
{
public Player(int playerId, string playerName)
{
ID = playerId;
Name = playerName;
Scorecard = new Scorecard();
}
// Parameters
public int ID { get; }
public string Name { get; }
public Scorecard Scorecard;
}
、これは私が達成するために望んでいるものですされている(ASCIIグラフィックを言い訳、私は画像を投稿するのに十分な評判ポイントを持っていません!).. 。
| Name | Horses | Sheep | Cows |
| Pete | 12 | 2 | 4 |
| Lucy | 2 | 8 | 14 |
私が検索したところ、正しい解決策は見つかりませんでした。以下のコードは私に最初の列を取得しますが、それは私がうまくいかない関連Scorecardオブジェクトに掘り下げています。
var col = new DataGridTextColumn();
var binding = new Binding("Name");
col.Binding = binding;
dgScoreGrid.Columns.Add(col);
dgScoreGrid.ItemsSource = playerArray;
多くのおかげで、そのトリックが行われました。私は実際にその構文を試してみましたが、フィールドではなくプロパティにのみ適用されることに気づいていませんでした。 –