对于我的应用,我需要Windows Phone 8的新强调色。我在目录C:\ Program Files(x86)\ Microsoft SDKs \ Windows Phone \ v8.0 \ Design \ AccentColors中找到了AccentColors.dll。
我该如何使用这个lib?
答案 0 :(得分:3)
AccentColors.dll不适合第三方开发人员使用。这可能是为Blend添加的设计时支持的一部分。
你究竟想做什么?
所有默认重音颜色都列在该文件夹中的文件中。您可以使用PhoneAccentColor / PhoneAccentBrsh获取活动重音。您可以通过更改应用程序c'tor中的App.Resource来覆盖PhoneAccentColor。
答案 1 :(得分:3)
如果需要使用代码中的颜色,可以添加一个模仿Colors类的新类。然后你可以轻松使用它。
public sealed class AccentColors
{
public static Color Cobalt { get { return Color.FromArgb(255, 0, 80, 239); } }
public static Color Lime { get { return Color.FromArgb(255, 164, 196, 0); } }
public static Color Green { get { return Color.FromArgb(255, 96, 169, 23); } }
public static Color Emerald { get { return Color.FromArgb(255, 0, 138, 0); } }
public static Color Teal { get { return Color.FromArgb(255, 0, 171, 169); } }
public static Color Cyan { get { return Color.FromArgb(255, 27, 161, 226); } }
public static Color Indigo { get { return Color.FromArgb(255, 106, 0, 255); } }
public static Color Violet { get { return Color.FromArgb(255, 170, 0, 255); } }
public static Color Pink { get { return Color.FromArgb(255, 244, 114, 208); } }
public static Color Magenta { get { return Color.FromArgb(255, 216, 0, 115); } }
public static Color Crimson { get { return Color.FromArgb(255, 162, 0, 37); } }
public static Color Red { get { return Color.FromArgb(255, 229, 20, 0); } }
public static Color Orange { get { return Color.FromArgb(255, 250, 104, 0); } }
public static Color Amber { get { return Color.FromArgb(255, 240, 163, 10); } }
public static Color Yellow { get { return Color.FromArgb(255, 216, 193, 0); } }
public static Color Brown { get { return Color.FromArgb(255, 130, 90, 44); } }
public static Color Olive { get { return Color.FromArgb(255, 109, 135, 100); } }
public static Color Steel { get { return Color.FromArgb(255, 100, 118, 135); } }
public static Color Mauve { get { return Color.FromArgb(255, 118, 96, 138); } }
public static Color Sienna { get { return Color.FromArgb(255, 122, 59, 63); } }
}
在您的项目中,您可以执行
var coblat = AccentColors.Cobalt;
如果要向用户显示颜色,这是一个简单的示例。首先添加一种方法,将强调色变成一个集合。
public static IEnumerable<Color> AsEnumerable()
{
yield return Cobalt;
yield return Lime;
yield return Green;
yield return Emerald;
// and the rest
}
然后创建一个ListBox来显示颜色。
<ListBox x:Name="ColorPicker">
<ListBox.ItemTemplate>
<DataTemplate>
<Rectangle Fill="{Binding}" Width="100" Height="100"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
最后将ItemsSource设置为颜色
// In code behind
ColorPicker.ItemsSource = AccentColors.AsEnumerable();