SilverlightとWPFの両方で共有できるカスタムコントロールを作成しようとしています。このため、Silverlightでサポートされていないカスタムコントロールのテンプレートではトリガを使用しません。代わりに、両方のプラットフォームでサポートされているようなストーリーボードアニメーションを使用します。WPFカスタムコントロールの問題: 'Shape'に 'Background'というパブリックプロパティがありません。
まず、Silverlightでうまく動作するカスタムコントロールを作成しました。 WPFでそれを使用しようとし、次のランタイムエラーを取得し続ける:プロパティパスが無効です。 'Shape'には、 'Background'という名前のパブリックプロパティがありません。
私のカスタムコントロールテンプレートで、次のXAMLが原因である:
<VisualState x:Name="Hovered">
<Storyboard>
<ColorAnimation Duration="0:0:0"
Storyboard.TargetName="PBorder"
Storyboard.TargetProperty="(Shape.Background).(SolidColorBrush.Color)" To="White" />
</Storyboard>
</VisualState>
特にWPFのためのコードのこの部分のための有効なXAML構文は何ですか?
このXAMLをSilverlightとWPFの両方に有効にすることはできますか?
残念ながら、それは役に立ちません。上記のコードは 'Shape.Fill'のwpfでは動作しません。なぜなら' Shape.Background'ではなく – rem
でOKです。私は '(Background)。(SolidColorBrush.Color)'で終わりました。 – rem
'does not work'とはどういう意味ですか? 'Output Window'にエラーが表示されますか? – decyclone