2011-03-05 3 views
0

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の両方に有効にすることはできますか?

答えて

2

ShapeBackgroundを持っていないが、代わりにそれはFill(背景)とStroke(ボーダー)を持っています。

+0

残念ながら、それは役に立ちません。上記のコードは 'Shape.Fill'のwpfでは動作しません。なぜなら' Shape.Background'ではなく – rem

+0

でOKです。私は '(Background)。(SolidColorBrush.Color)'で終わりました。 – rem

+0

'does not work'とはどういう意味ですか? 'Output Window'にエラーが表示されますか? – decyclone

関連する問題