Silverlight中的透明渐变停止不是完全透明的

Silverlight中的透明渐变停止不是完全透明的,silverlight,colors,transparent,lineargradientbrush,gradientstop,Silverlight,Colors,Transparent,Lineargradientbrush,Gradientstop,我正在Silverlight中设计一个简单的图形对象,它显示为一个红色矩形,上面有一些白色文本;当鼠标悬停在矩形上时,我想显示一个覆盖矩形,该矩形从红色逐渐变为透明,因此文本仅部分可见。我的问题是,我使用的LinearGradientBrush不是从红色变为透明,而是从红色变为某种半透明白色!我将问题复制如下: <Grid x:Name="LayoutRoot" Background="Red"> <Grid.RowDefinitions> <RowDefi

我正在Silverlight中设计一个简单的图形对象,它显示为一个红色矩形,上面有一些白色文本;当鼠标悬停在矩形上时,我想显示一个覆盖矩形,该矩形从红色逐渐变为透明,因此文本仅部分可见。我的问题是,我使用的LinearGradientBrush不是从红色变为透明,而是从红色变为某种半透明白色!我将问题复制如下:

<Grid x:Name="LayoutRoot" Background="Red">
<Grid.RowDefinitions>
    <RowDefinition/>
    <RowDefinition/>
</Grid.RowDefinitions>
<Grid>
    <Grid.Background>
        <LinearGradientBrush>
            <GradientStop Color="Transparent" Offset="0"/>
            <GradientStop Color="Red" Offset="1"/>
        </LinearGradientBrush>
    </Grid.Background>
</Grid>


在本例中,您可以很容易地看到栅格的上部比下部略亮,即使我使用了透明颜色常量。如果我使用#00FFFFFF,结果是相同的,而如果我使用#00xxxxxx,其中xxxxxx是任何颜色的RGB代码,上部矩形的色调会根据颜色而变化!代码的前两位不应该代表alpha通道吗?为什么“00”不意味着完全透明?任何提示都值得欣赏。

如果您想让透明效果更明显,请尝试添加一个带有color=“transparent”和offset=“.5”或类似内容的中间渐变停止。问题是,它不是真正的透明!为了达到我预期的效果,我可以使用#00FF0000,但这并不能解决问题,例如,如果我需要动态更改背景颜色。