gpt4 book ai didi

c# - 如何在 WinRT 中枚举颜色?

转载 作者:太空狗 更新时间:2023-10-30 00:03:17 36 4
gpt4 key购买 nike

在非 WinRT 中枚举颜色是一个常见的问题,答案很简单。但是,由于颜色“ENUM”实际上只是一个具有静态“颜色”属性的类,您不能在 WinRT 中使用标准方法。

如何在 WinRT 中枚举颜色?

最佳答案

像这样:

在 WinRT 中枚举颜色需要使用 System.Reflection,这样您就可以获取容器类“Colors”中子类化的静态属性。像这样:

Dictionary<string, Windows.UI.Color> Colors()
{
var _Colors = typeof(Windows.UI.Colors)
// using System.Reflection;
.GetRuntimeProperties()
.Select(c => new
{
Color = (Windows.UI.Color)c.GetValue(null),
Name = c.Name
});
return _Colors.ToDictionary(x => x.Name, x => x.Color);
}

来源:http://codepaste.net/j3mzrw

注意:如果您不喜欢反射(出于某种原因),那么也没有什么可以阻止您手动编写可枚举颜色的代码。创建一个“动态”颜色列表真的只是为了花哨的缘故——颜色不会更新。只写 list !

在这里,我为你做了:

public class ColorList : List<Windows.UI.Color>
{
public ColorList()
{
this.Add(Windows.UI.Colors.AliceBlue);
this.Add(Windows.UI.Colors.AntiqueWhite);
this.Add(Windows.UI.Colors.Aqua);
this.Add(Windows.UI.Colors.Aquamarine);
this.Add(Windows.UI.Colors.Azure);
this.Add(Windows.UI.Colors.Beige);
this.Add(Windows.UI.Colors.Bisque);
this.Add(Windows.UI.Colors.Black);
this.Add(Windows.UI.Colors.BlanchedAlmond);
this.Add(Windows.UI.Colors.Blue);
this.Add(Windows.UI.Colors.BlueViolet);
this.Add(Windows.UI.Colors.Brown);
this.Add(Windows.UI.Colors.BurlyWood);
this.Add(Windows.UI.Colors.CadetBlue);
this.Add(Windows.UI.Colors.Chartreuse);
this.Add(Windows.UI.Colors.Chocolate);
this.Add(Windows.UI.Colors.Coral);
this.Add(Windows.UI.Colors.CornflowerBlue);
this.Add(Windows.UI.Colors.Cornsilk);
this.Add(Windows.UI.Colors.Crimson);
this.Add(Windows.UI.Colors.Cyan);
this.Add(Windows.UI.Colors.DarkBlue);
this.Add(Windows.UI.Colors.DarkCyan);
this.Add(Windows.UI.Colors.DarkGoldenrod);
this.Add(Windows.UI.Colors.DarkGray);
this.Add(Windows.UI.Colors.DarkGreen);
this.Add(Windows.UI.Colors.DarkKhaki);
this.Add(Windows.UI.Colors.DarkMagenta);
this.Add(Windows.UI.Colors.DarkOliveGreen);
this.Add(Windows.UI.Colors.DarkOrange);
this.Add(Windows.UI.Colors.DarkOrchid);
this.Add(Windows.UI.Colors.DarkRed);
this.Add(Windows.UI.Colors.DarkSalmon);
this.Add(Windows.UI.Colors.DarkSeaGreen);
this.Add(Windows.UI.Colors.DarkSlateBlue);
this.Add(Windows.UI.Colors.DarkSlateGray);
this.Add(Windows.UI.Colors.DarkTurquoise);
this.Add(Windows.UI.Colors.DarkViolet);
this.Add(Windows.UI.Colors.DeepPink);
this.Add(Windows.UI.Colors.DeepSkyBlue);
this.Add(Windows.UI.Colors.DimGray);
this.Add(Windows.UI.Colors.DodgerBlue);
this.Add(Windows.UI.Colors.Firebrick);
this.Add(Windows.UI.Colors.FloralWhite);
this.Add(Windows.UI.Colors.ForestGreen);
this.Add(Windows.UI.Colors.Fuchsia);
this.Add(Windows.UI.Colors.Gainsboro);
this.Add(Windows.UI.Colors.GhostWhite);
this.Add(Windows.UI.Colors.Gold);
this.Add(Windows.UI.Colors.Goldenrod);
this.Add(Windows.UI.Colors.Gray);
this.Add(Windows.UI.Colors.Green);
this.Add(Windows.UI.Colors.GreenYellow);
this.Add(Windows.UI.Colors.Honeydew);
this.Add(Windows.UI.Colors.HotPink);
this.Add(Windows.UI.Colors.IndianRed);
this.Add(Windows.UI.Colors.Indigo);
this.Add(Windows.UI.Colors.Ivory);
this.Add(Windows.UI.Colors.Khaki);
this.Add(Windows.UI.Colors.Lavender);
this.Add(Windows.UI.Colors.LavenderBlush);
this.Add(Windows.UI.Colors.LawnGreen);
this.Add(Windows.UI.Colors.LemonChiffon);
this.Add(Windows.UI.Colors.LightBlue);
this.Add(Windows.UI.Colors.LightCoral);
this.Add(Windows.UI.Colors.LightCyan);
this.Add(Windows.UI.Colors.LightGoldenrodYellow);
this.Add(Windows.UI.Colors.LightGray);
this.Add(Windows.UI.Colors.LightGreen);
this.Add(Windows.UI.Colors.LightPink);
this.Add(Windows.UI.Colors.LightSalmon);
this.Add(Windows.UI.Colors.LightSeaGreen);
this.Add(Windows.UI.Colors.LightSkyBlue);
this.Add(Windows.UI.Colors.LightSlateGray);
this.Add(Windows.UI.Colors.LightSteelBlue);
this.Add(Windows.UI.Colors.LightYellow);
this.Add(Windows.UI.Colors.Lime);
this.Add(Windows.UI.Colors.LimeGreen);
this.Add(Windows.UI.Colors.Linen);
this.Add(Windows.UI.Colors.Magenta);
this.Add(Windows.UI.Colors.Maroon);
this.Add(Windows.UI.Colors.MediumAquamarine);
this.Add(Windows.UI.Colors.MediumBlue);
this.Add(Windows.UI.Colors.MediumOrchid);
this.Add(Windows.UI.Colors.MediumPurple);
this.Add(Windows.UI.Colors.MediumSeaGreen);
this.Add(Windows.UI.Colors.MediumSlateBlue);
this.Add(Windows.UI.Colors.MediumSpringGreen);
this.Add(Windows.UI.Colors.MediumTurquoise);
this.Add(Windows.UI.Colors.MediumVioletRed);
this.Add(Windows.UI.Colors.MidnightBlue);
this.Add(Windows.UI.Colors.MintCream);
this.Add(Windows.UI.Colors.MistyRose);
this.Add(Windows.UI.Colors.Moccasin);
this.Add(Windows.UI.Colors.NavajoWhite);
this.Add(Windows.UI.Colors.Navy);
this.Add(Windows.UI.Colors.OldLace);
this.Add(Windows.UI.Colors.Olive);
this.Add(Windows.UI.Colors.OliveDrab);
this.Add(Windows.UI.Colors.Orange);
this.Add(Windows.UI.Colors.OrangeRed);
this.Add(Windows.UI.Colors.Orchid);
this.Add(Windows.UI.Colors.PaleGoldenrod);
this.Add(Windows.UI.Colors.PaleGreen);
this.Add(Windows.UI.Colors.PaleTurquoise);
this.Add(Windows.UI.Colors.PaleVioletRed);
this.Add(Windows.UI.Colors.PapayaWhip);
this.Add(Windows.UI.Colors.PeachPuff);
this.Add(Windows.UI.Colors.Peru);
this.Add(Windows.UI.Colors.Pink);
this.Add(Windows.UI.Colors.Plum);
this.Add(Windows.UI.Colors.PowderBlue);
this.Add(Windows.UI.Colors.Purple);
this.Add(Windows.UI.Colors.Red);
this.Add(Windows.UI.Colors.RosyBrown);
this.Add(Windows.UI.Colors.RoyalBlue);
this.Add(Windows.UI.Colors.SaddleBrown);
this.Add(Windows.UI.Colors.Salmon);
this.Add(Windows.UI.Colors.SandyBrown);
this.Add(Windows.UI.Colors.SeaGreen);
this.Add(Windows.UI.Colors.SeaShell);
this.Add(Windows.UI.Colors.Sienna);
this.Add(Windows.UI.Colors.Silver);
this.Add(Windows.UI.Colors.SkyBlue);
this.Add(Windows.UI.Colors.SlateBlue);
this.Add(Windows.UI.Colors.SlateGray);
this.Add(Windows.UI.Colors.Snow);
this.Add(Windows.UI.Colors.SpringGreen);
this.Add(Windows.UI.Colors.SteelBlue);
this.Add(Windows.UI.Colors.Tan);
this.Add(Windows.UI.Colors.Teal);
this.Add(Windows.UI.Colors.Thistle);
this.Add(Windows.UI.Colors.Tomato);
this.Add(Windows.UI.Colors.Transparent);
this.Add(Windows.UI.Colors.Turquoise);
this.Add(Windows.UI.Colors.Violet);
this.Add(Windows.UI.Colors.Wheat);
this.Add(Windows.UI.Colors.White);
this.Add(Windows.UI.Colors.WhiteSmoke);
this.Add(Windows.UI.Colors.Yellow);
this.Add(Windows.UI.Colors.YellowGreen);
}
}

都可以。

关于c# - 如何在 WinRT 中枚举颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12751008/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com