WPF最大的特点就是酷炫的外观,在学习过程中经常看见各种渐变窗体。作为几乎没做过美工的程序员,我对各种颜色的argb值不熟,颜色的英文单词也只认识部分。为了不至于每次都用Colors点出颜色再随机挑选看效果。写了个小程序展示System.Windows.Media.Colors中定义的141中颜色:
前台代码:
<Window x:Class="IOC.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="" Width="">
<WrapPanel Name="wp"></WrapPanel>
</Window>
后台代码:
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
IniWindow();
IniWrapPanel();
} /// <summary>
/// 创建各种颜色的Lable,用以展示。
/// </summary>
/// <param name="lblColor">要创建的Label的颜色</param>
/// <returns></returns>
public static Label Createlbl(Color lblColor)
{
Label lbl = new Label();
lbl.Height = ;
lbl.Width = ;
SolidColorBrush scb = new SolidColorBrush(lblColor);
lbl.Background = scb;
return lbl;
} /// <summary>
/// 初始化WrapPanel,其内容是各色标签。
/// </summary>
public void IniWrapPanel()
{
Type t = typeof(Colors);
PropertyInfo[] pInfo = t.GetProperties();
foreach (PropertyInfo pi in pInfo)
{
Color c = (Color)ColorConverter.ConvertFromString(pi.Name);
Label lbl = Createlbl(c);
lbl.Content = pi.Name;
this.wp.Children.Add(lbl);
}
} /// <summary>
/// 初始化窗体,以合理的尺寸显示各种颜色。
/// </summary>
public void IniWindow()
{
this.Title = "ColorPresentation";
this.ResizeMode = ResizeMode.NoResize;
this.Height = ;
this.Width = ;
this.Content = wp;
}
}
展示效果: