c# - 如何从 HEX Windows 8 应用程序获取 System.Windows.Media.Color

标签 c# windows-phone-8

我想在我的 windows 8 移动应用程序中根据 Web 颜色值设置边框背景颜色。

我找到了一种将十六进制转换为 Argb 的方法,但它对我不起作用..

  private System.Windows.Media.Color FromHex(string hex)
        {
            string colorcode = hex;
            int argb = Int32.Parse(colorcode.Replace("#", ""), System.Globalization.NumberStyles.HexNumber);
            return System.Windows.Media.Color.FromArgb((byte)((argb & -16777216) >> 0x18),
                                  (byte)((argb & 0xff0000) >> 0x10),
                                  (byte)((argb & 0xff00) >> 8),
                                  (byte)(argb & 0xff));


        }

我正在使用上面的方法,比如..

     Border borderCell = new Border();
     var col = FromHex("#DD4AA3");
     var color =new System.Windows.Media.SolidColorBrush(col);
     borderCell.Background = color;

但是如果我像下面这样传递颜色十六进制值

            var col = FromHex("#FFEEDDCC");

它工作正常,但不适用于我的十六进制颜色值。

在发布这个问题之前,我先浏览了这个堆栈答案。 How to get Color from Hexadecimal color code using .NET?

Convert System.Drawing.Color to RGB and Hex Value

最佳答案

为什么不简单地使用 System.Windows.Media.ColorConverter

Color color = (Color)System.Windows.Media.ColorConverter.ConvertFromString("#EA1515");

关于c# - 如何从 HEX Windows 8 应用程序获取 System.Windows.Media.Color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29250818/

相关文章:

javascript - Windows Phone 8 Web 浏览器 JavaScript 不工作

c# - 无法使用 Stackexchange Redis 从 .Net 调用带有模式的 HSCAN

c# - Sitecore Powershell 反序列化 - Core DB

c# - 检查 Visual Studio 文件中的代码注释

c# - 在 OpenCVSharp 中水平翻转图像

c# - Windows Phone 8 应用程序的翻页过渡

c# - XAML - 应用栏中菜单项下的额外空间

c# - 我可以从两个表中分配外键吗?

c# - 如何使用 OOXML 删除 WordProcessingML 中的 TableRow?

c# - NavigationService.BackStack.FirstOrDefault() 不包含 Windows Phone 8 中的定义?