1

グリッド行DataTriggerでアニメーション化するがあります。Colorプロパティがあるため、SolidColorBrush型のBackground.Color場合にうまく機能します。Background

しかし、そのグリッド行が強調表示されると、背景はColor プロパティを持たないLinearGradientBrushになり、ストーリーボードは例外で失敗します。どうすれば対処できますか?

これが私のトリガーです

    <DataTrigger Binding="{Binding Row.State}" Value="Finished">
        <DataTrigger.EnterActions>
            <BeginStoryboard>
                <Storyboard >
                    <ColorAnimation
                                    Storyboard.TargetProperty="Background.(Color)" 
                                    To="LightGreen" Duration="0:0:1" />
                </Storyboard>
        </BeginStoryboard>
    </DataTrigger.EnterActions>
    </DataTrigger>

これは、行が強調表示されたときに発生する例外です。

追加情報: プロパティ パス 'Background.(Color)' 内のすべてのプロパティ参照を解決できません。該当するオブジェクトがプロパティをサポートしていることを確認してください。

4

1 に答える 1

0

私はそれを修正しました。

私はStoryboard.TargetPropertyこのように使用しました

Storyboard.TargetProperty="Background.(SolidColorBrush.Color)"

どうやら name で type を探しますSolidColorBrush

括弧の詳細については、MSDN を参照してください。

複数のオブジェクトとサブプロパティの形式では、所有オブジェクトを使用して最初のプロパティを明確にし、この最初の object.property の組み合わせを括弧で囲む必要があります。その後、サブプロパティに名前を付けるだけで、所有する型で修飾する必要はありませんが、それらのサブプロパティは前のプロパティの値の型に存在する必要があります。後続のサブプロパティ所有タイプを修飾する、もう少し冗長な形式も受け入れられます。たとえば、「(Rectangle.Fill).(SolidColorBrush.Color)」です。

于 2014-07-20T23:24:41.250 に答える