我的应用程序需要来自 Windows Phone 8 的新强调色。我在目录 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Design\AccentColors 中找到了 AccentColors.dll。
我怎样才能使用这个库?
我的应用程序需要来自 Windows Phone 8 的新强调色。我在目录 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Design\AccentColors 中找到了 AccentColors.dll。
我怎样才能使用这个库?
AccentColors.dll 不适合第 3 方开发人员使用。它可能是为 Blend 添加的设计时支持的一部分。
你到底想做什么?
所有默认强调色都列在该文件夹中的文件中。您可以使用 PhoneAccentColor/PhoneAccentBrsh 获得活跃的口音。您可以通过更改应用程序 c'tor 中的 App.Resources 来覆盖 PhoneAccentColor。
如果您需要在代码中使用颜色,您可以添加一个模仿 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();