2011-08-13 2 views
2

私はすべての標準カラーでロードしたいコンボボックスを作成しました。私はストレートXAMLではなく、xaml.csファイルでこれを実行したいと思います。私はC#for .NETではこれを行う多くの例を見つけましたが、WPFではありません。wpfのすべてのシステムカラーでコンボボックスをロードする

私は、.NETで実行され、prop.PropertyType.FullNameが、私はそれとセンスがSystem.Windows.Media.ColorContextで作るeqaulsをSystem.Reflection.PropertyInfo値のみによるデバッグ"System.Drawing.Color")に等しいことがないように見える次のコードを見つけました。しかし、私はこれを試してみましたが、何の色も返しませんでした。

foreach (System.Reflection.PropertyInfo prop in typeof(Color).GetProperties()) 
{ 
if (prop.PropertyType.FullName == "System.Drawing.Color") 
comboBox1.Items.Add(prop.Name); 
} 

いずれかの提案やコメントをいただければ幸いです。

ありがとうございます!

答えて

1

これは私のために働いた。デバッグを試してください。あなたは色を取得している可能性がありますが、問題はアイテムを追加することです。

 foreach (System.Reflection.PropertyInfo info in typeof(Colors).GetProperties()) 
     { 
      Debug.WriteLine(info.Name); 

     } 
+0

おかげであるを取得します!私はそれが必要ではないと思う。 – Johnston

0

あなたはResourceDictionary

<ResourceDictionary Source="pack://application:,,,/PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml" /> 

経由スタイルをインポートし、コンボボックスのスタイルを適用することができます。

0
  1. あなたのコードは、そのクラスのColorの性質ではなくColors
  2. 色タイプSystem.Windows.Media.Color(代わりにSystem.Drawing.Colorの)
関連する問題