3

既存の配列を作成して、BrushesそれらWPFをループし、コンボボックス内にリストを表示できるようにします。これどうやってするの?

私はこのようなものを持っていますがBrushes、配列ではないため、機能しません。

string[] brushes = Brushes;

foreach (string s in brushes)
{
    comboBox.Items.Add(s);
}
4

1 に答える 1

12

リフレクションを使用できます。匿名タイプを使用して、名前とブラシの両方を保持できます。

var values = typeof (Brushes).GetProperties().
    Select(p => new { Name = p.Name, Brush = p.GetValue(null) as Brush }).
    ToArray();

次の方法でのみ名前にアクセスできます。

var brushNames = values.Select(v => v.Name);
于 2012-12-26T23:52:40.000 に答える