値セットに合わせてアニメーション化する棒グラフがあります。アニメーションコードは次のようになります
<UserControl.Resources>
<Storyboard x:Key="BootUp">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" Storyboard.TargetName="MainBar">
<EasingDoubleKeyFrame KeyTime="0" Value="350"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="{Binding CurrentValue, ElementName=UserControl}"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
そしてC#
int ThisValue=200;
public int CurrentValue
{
get { return (int)ThisValue; }
set {
ThisValue=(int)value;
this.MainBar.ToolTip=value.ToString();
System.Windows.Media.Animation.Storyboard storyBoard = (System.Windows.Media.Animation.Storyboard)FindResource("BootUp");
storyBoard.Begin(this);
}
}
これはうまくいくはずだと思いますが、戻るたびに
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=UserControl'. BindingExpression:Path=CurrentValue; DataItem=null; target element is 'EasingDoubleKeyFrame' (HashCode=27594380); target property is 'Value' (type 'Double')
何が起こっている?