Degrafa сменщик цвета - PullRequest
       14

Degrafa сменщик цвета

1 голос
/ 25 декабря 2008
<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>

У меня проблема с кодом degrafa, который я определил набором различных градиентов для динамического изменения color_preset.fill, когда пользователь выбирает другой цвет в выпадающем списке.

Я заменил fill="{bluedream}" на fill="using_variable" и привел к сообщению об ошибке: инициализатор 'fill': значения типа com.degrafa.core.IGraphicsFill не могут быть представлены в тексте.

Есть ли решение использовать этот код для смены цвета?

1 Ответ

0 голосов
/ 28 декабря 2008

Свойство fill в вашем примере указывает на LinearGradientFill с идентификатором "bluedream". Вы можете либо заменить заливку другим градиентом (либо сплошной, либо другой заливкой) или изменить цвета самой градиентной заливки:

<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>

Я не запускал этот код, но он должен работать. Идея состоит в том, чтобы изменить цвет GradientStop с помощью выбранного элемента в раскрывающемся списке (при условии, что это строка). Этот пример делает нечто очень похожее, но с палитрой цветов вместо выпадающего списка: http://degrafa.org/source/CS4IconPreviewer/CS4IconPreviewer.html

...