C# 如何在uwp中获取系统颜色列表

C# 如何在uwp中获取系统颜色列表,c#,uwp,C#,Uwp,我想建立一个简单的颜色组合框,但我不知道, 如何在使用c#的通用Windows平台中获取系统颜色(已知颜色)。 无法访问known颜色类型。该类具有从AliceBlue到黄绿色的已知颜色属性。如果您想要这些颜色的列表,您可以使用反射遍历属性名称,以构建您自己要绑定的列表 例如: 保存颜色信息的类 public class NamedColor { public string Name { get; set; } public Color Color { get; set; } }

我想建立一个简单的颜色组合框,但我不知道, 如何在使用c#的通用Windows平台中获取系统颜色(已知颜色)。 无法访问known颜色类型。

该类具有从AliceBlue到黄绿色的已知颜色属性。如果您想要这些颜色的列表,您可以使用反射遍历属性名称,以构建您自己要绑定的列表

例如:

保存颜色信息的类

public class NamedColor
{
    public string Name { get; set; }
    public Color Color { get; set; }
}
以及要绑定到的属性:

public ObservableCollection<NamedColor> Colors { get; set; }
以及一些要绑定到颜色集合的Xaml:

<ComboBox ItemsSource="{Binding Colors}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <Rectangle Grid.Column="0" Height="30" Width="30" Margin="2" VerticalAlignment="Center" Stroke="{ThemeResource SystemControlForegroundBaseHighBrush }" StrokeThickness="1">
                    <Rectangle.Fill>
                        <SolidColorBrush Color="{Binding Color}" />
                    </Rectangle.Fill>
                </Rectangle>
                <TextBlock Text="{Binding Name}" Grid.Column="1" VerticalAlignment="Center"/>
            </Grid>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>


系统颜色是什么意思?所有可用的强调色?所有颜色类型的主题资源?对于UWP初学者:您需要“使用System.Reflection;”
<ComboBox ItemsSource="{Binding Colors}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <Rectangle Grid.Column="0" Height="30" Width="30" Margin="2" VerticalAlignment="Center" Stroke="{ThemeResource SystemControlForegroundBaseHighBrush }" StrokeThickness="1">
                    <Rectangle.Fill>
                        <SolidColorBrush Color="{Binding Color}" />
                    </Rectangle.Fill>
                </Rectangle>
                <TextBlock Text="{Binding Name}" Grid.Column="1" VerticalAlignment="Center"/>
            </Grid>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>