私は2つのテキストカラー、ColorAとColorBでカスタムコントロールを作成しています。 ColorAはコントロールのForeground
プロパティに接続され、ColorBはForegroundAlt
というカスタム依存プロパティに接続されます。どちらのプロパティもBrush
オブジェクトです。コントロールのXAMLは、このマークアップを使用してプロパティ値を取得します:XAML:ブラシをカラーに変換しますか?
<SolidColorBrush x:Key="BrushA" Color="{Binding Path=Foreground, RelativeSource={RelativeSource TemplatedParent}}" />
<SolidColorBrush x:Key="BrushB" Color="{Binding Path=ForegroundAlt, RelativeSource={RelativeSource TemplatedParent}}" />
私はコントロールテンプレートに2つの色の間SMEのテキストをアニメーション化する必要がある、と私は問題に実行しているところです。
通常、私は単純に次のように、各Brush.Colorプロパティにデータバインディングを作成します。
To="{Binding Source={StaticResource BrushB}, Path=Color}"
しかし、それは、ここでは動作しません。それはyou can't use bindings on an animation inside a control templateであることがわかります。
回避策として、私はブラシのリソースと一緒に行くためにColor
リソースのペアを作成したいと思います:
<Color x:Key="ColorA" ??? />
<Color x:Key="ColorB" ??? />
各Color
リソースは、それに対応するブラシの色を持っている必要があります。私は静的リソースとして色を参照し、アニメーション内からデータをバインドする必要がありません。
だから、ここに私の質問は以下のとおりです。
- どのように私はColor
リソースを宣言するのでしょうか?
- ジョブを簡単に行う方法はありますか?
ありがとうございました。
アニメーション内でデータバインディングを使用しない限り、動作すると思います。しかし、私は、第2のリソースのペアを避けるより良いアプローチに取り組んでいます。それが動作すれば私はここに投稿します。 –