<degrafa:LinearGradientFill id="bluedream">
<degrafa:GradientStop color="#6ab5d0"/>
<degrafa:GradientStop color="#388aae"/>
</degrafa:LinearGradientFill>
<degrafa:GeometryComposition graphicsTarget="{[bgCanvas]}">
<degrafa:RoundedRectangle id="color_preset" fill="{bluedream}"/>
</degrafa:GeometryComposition>我有降级代码的问题,我已经定义了一组不同的梯度,当用户在组合框中选择不同的颜色时,color_preset.fill会动态变化。
我用fill="using_variable"替换了fill="{bluedream}",并导致编译错误消息:‘fill’的初始化器:com.degrafa.core.IGraphicsFill类型的值不能用文本表示。
有没有一个解决方案来使用这个代码作为颜色变更器?
发布于 2008-12-28 04:48:31
示例中的fill属性指向id为"bluedream“的LinearGradientFill。您可以用不同的渐变(或纯色或其它填充)替换填充,也可以更改渐变填充本身的颜色:
<degrafa:LinearGradientFill id="bluedream">
<degrafa:GradientStop color="{your_combobox.selectedItem}"/>
<degrafa:GradientStop color="{your_other_combobox.selectedItem}"/>
</degrafa:LinearGradientFill>
<degrafa:GeometryComposition graphicsTarget="{[bgCanvas]}">
<degrafa:RoundedRectangle id="color_preset" fill="{bluedream}"/>
</degrafa:GeometryComposition>我还没有运行该代码,但它应该可以工作。这个想法是用你的dropdown的selectedItem来改变GradientStop的颜色(假设它是一个字符串)。这个示例做了一些非常类似的事情,只是使用了颜色选择器而不是下拉列表:http://degrafa.org/source/CS4IconPreviewer/CS4IconPreviewer.html
https://stackoverflow.com/questions/392808
复制相似问题