2012-04-07 2 views
2

C#を使ってメトロアプリのコンボボックスに色のリストを追加したいと思います。次に、ユーザーはリストから特定の色を選択して背景を変更することができます。メトロアプリのコンボボックスに色を追加するには?

利用できる可能性の高いライブラリーは、ここでWindows.UI.Colors

あるシンプルなデスクトップアプリケーションのためにそれを達成するためのリンクです:http://www.c-sharpcorner.com/uploadfile/mahesh/how-to-load-all-colors-in-a-combobox-using-C-Sharp/

しかし、私は地下鉄の環境へのポートにそれをすることができませんでした。

また、リストアイテムとしての色の名前と色の両方が大きなプラスになります。

できるだけ早く助けてください... MSDNから別のスレッドが: http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/880a3b5b-e287-4cdc-a1ab-d1cd4a19aedb/

+0

を動作しません追加されていることを確認してください地下鉄? –

+0

RowlandShaw:まったくありません。 ライブラリーが異なるので、それほど多くのことはできません。さらに、GetProperties()も使用できません。 また、XAMLにがありますが、その使用方法はわかりません。 –

答えて

2
<ComboBox x:Name="cbColorNames" Grid.Row="1" Height="40" 
     ItemsSource="{Binding Colors}" 
     SelectedItem="{Binding SelectedColorName, Mode=TwoWay}"> 
<ComboBox.ItemTemplate> 
    <DataTemplate> 
     <Grid Background="Black"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="Auto"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 
      <Rectangle Width="35" Height="20" Fill="{Binding Name}" Margin="5,0"/> 
      <TextBlock Grid.Column="1" Margin="10,0,0,0" Text="{Binding Name}" Foreground="White"/> 
     </Grid> 
    </DataTemplate> 
</ComboBox.ItemTemplate> 

これはXAMLファイルです。

private static void LoadColors() 
{ 
    var t = typeof(Colors); 
    var ti = t.GetTypeInfo(); 
    var dp = ti.DeclaredProperties; 
    colors = new List<PropertyInfo>(); 
    foreach (var item in dp) 
    { 
     colors.Add(item); 
    } 
} 
private static List<PropertyInfo> colors; 
public List<PropertyInfo> Colors 
{ 
    get 
    { 
     if (colors == null) 
      LoadColors(); 
     return colors; 
    } 
} 

これは、C#のコードです。

ありがとうございます。&ヘルプありがとうございます。

3

このコードは、私の作品:

var colorsTypeInfo = typeof(Colors).GetTypeInfo(); 
var properties = colorsTypeInfo.DeclaredProperties; 
Dictionary<string, string> colours = new Dictionary<string, string>(); 
foreach (var dp in properties) 
{ 
    colours.Add(dp.Name, dp.GetValue(typeof(Colors)).ToString()); 
} 

次の参照のそれ以外の場合は、どのくらい遠くまであなたがのためにそのコードを移植手に入れた

using System.Reflection; 
using Windows.UI; 
関連する問題