2012-07-01 59 views
3

为什么如果我把它放到Silverlight下使用的xaml字典中,编译器会发现一个错误。Silverlight XAML BUG

<Color x:Key="colorBackDark" A="255" R="150" G="170" B="190" /> 

在WPF XAML中一切正常。

顺便说一句,无论使用的是silverlight版本,都会出现错误。

它看起来像是某种解析器错误。

回答

9

我假设你得到的错误是像下面这样:

无法创建从文本“255”

在Silverlight XAML中解析器“System.Byte”只知道如何处理double s,int s和bool s。 Color结构中的A,R,R,GB属性全部为byte,这是Silverlight XAML分析程序不知道如何处理的。另一方面,WPF中的XAML解析器确实知道如何处理这些值,所以这就是为什么WPF中没有出现错误。

MSDN documentation for the Color struct列出了许多方法在Silverlight中的XAML中创建Color值。

A similar question刚才被问到为什么float s不能在Silverlight的XAML中使用。

+1

是的。这是原因。谢谢。 – Patrik

+0

来自未来的讯息:2012年你好,今天(2014),我也回答了! – user919426