1
<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の異なるグラデーションのセットを定義したdegrafaコードに問題があります。

置き換えfill="{bluedream}"fill="using_variable"、エラーコンパイルされたメッセージを表示します:'fill'のイニシャライザー:タイプの値をcom.degrafa.core.IGraphicsFillテキストで表すことができません。

このコードをカラーチェンジャーとして使用するための解決策はありますか?

4

1 に答える 1

0

この例の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>

私はそのコードを実行していませんが、動作するはずです。アイデアは、ドロップダウンのselectedItem(文字列の場合)でGradientStopの色を変更することです。この例は非常によく似ていますが、ドロップダウンの代わりにカラーピッカーを使用しています:http: //degrafa.org/source/CS4IconPreviewer/CS4IconPreviewer.html

于 2008-12-28T04:48:30.530 に答える