2011-08-05 10 views
2

LinearGradientBrushをOpacityMaskとして使用し、アニメーションでグラデーションを回転させたいので、StartPointとEndPointの位置をアニメートしようとしていますが、動作させることができません時間:(LinearGradientのStartPointをアニメーション化する方法

<Style x:Key="NewContentStyle" TargetType="ContentPresenter"> 
     <Setter Property="OpacityMask"> 
      <Setter.Value> 
       <LinearGradientBrush x:Name="FillGradient" EndPoint="0.5,1" StartPoint="0.5,0"> 
        <GradientStop Color="Black" Offset="0.5"/> 
        <GradientStop Color="Transparent" Offset="1"/> 
       </LinearGradientBrush> 
      </Setter.Value> 
     </Setter> 
    </Style> 

    <Storyboard x:Key="NewContentStoryboard"> 
     <PointAnimation Storyboard.TargetProperty="StartPoint" Storyboard.TargetName="FillGradient" From="0.5 0" To="0 0.5" Duration="00:00:1" /> 
     <PointAnimation Storyboard.TargetProperty="EndPoint" Storyboard.TargetName="FillGradient" From="1 0.5" To="0 0.5" Duration="00:00:1"/> 
    </Storyboard> 

のため、私は " 'FillGradientの' name 'のSystem.Windows.Controls.ContentPresenter' の名前の範囲で見つけることができません。" のエラーが表示されます

答えて

3

このお試しください:

<Storyboard x:Key="NewContentStoryboard"> 
    <PointAnimation Storyboard.TargetProperty="OpacityMask.(LinearGradientBrush.StartPoint)" From="0.5 0" To="0 0.5" Duration="00:00:1" /> 
    <PointAnimation Storyboard.TargetProperty="OpacityMask.(LinearGradientBrush.EndPoint)" From="1 0.5" To="0 0.5" Duration="00:00:1"/> 
</Storyboard> 
+0

! :)私は、 "プロパティパス構文"のようなものがあることを知らなかった:(ありがとう! –

関連する問題