Windows phone 7 在Wp7中获取GetColorFromHexa时未处理ArgumentOutOfRangeException

Windows phone 7 在Wp7中获取GetColorFromHexa时未处理ArgumentOutOfRangeException,windows-phone-7,Windows Phone 7,当我试图从六边形值获取颜色时,我得到ArgumentOutOfRangeException public static SolidColorBrush GetColorFromHexa(string hexaColor) { return new SolidColorBrush( Color.FromArgb( Convert.ToByte(hexaColor.Substring(1, 2), 16),

当我试图从六边形值获取颜色时,我得到ArgumentOutOfRangeException

   public static SolidColorBrush GetColorFromHexa(string hexaColor)
    {
        return new SolidColorBrush(
            Color.FromArgb(
                Convert.ToByte(hexaColor.Substring(1, 2), 16),
                Convert.ToByte(hexaColor.Substring(3, 2), 16),
                Convert.ToByte(hexaColor.Substring(5, 2), 16),
                Convert.ToByte(hexaColor.Substring(7, 2), 16)
            )
        );
    }


  SolidColorBrush brush = GetColorFromHexa("#ADD8E6");
  border.Background = brush;

我是否遗漏了任何可能导致此问题的原因?

ArgumentOutOfRangeException-
startIndex加上长度表示不在此实例中的位置。

-或-

起始索引或长度小于零
-msdn

这就是造成问题的原因,换句话说,值(最后一个是7,2)超出范围

对于一些可能有助于您解决问题的示例


希望对您有所帮助,祝您好运。

ArgumentOutOfRangeException-
startIndex加上长度表示不在此实例中的位置。

-或-

起始索引或长度小于零
-msdn

这就是造成问题的原因,换句话说,值(最后一个是7,2)超出范围

对于一些可能有助于您解决问题的示例

希望对您有所帮助,祝您好运。

看起来您的参数#ADD8E6缺少一个颜色组件。ADD8E6只是三个组件,而ARGB需要四个组件。第四个在哪里? 因此,在Convert.ToByte(hexaColor.Substring(7,2),16)行抛出异常。

看起来您的参数#ADD8E6缺少一个颜色组件。ADD8E6只是三个组件,而ARGB需要四个组件。第四个在哪里? 因此,在Convert.ToByte(hexaColor.Substring(7,2),16)行抛出异常