|
分類:[.NET 全般]
WPFのStoryBoardでオブジェクトのプロパティを変更した後にソースでプロパティの値を変更したいのですが、 一度でもStoryBoardで変更をしたプロパティを変更することができません。
StoryBoardでもコードでも、プロパティの値を変更する方法を探しています。
例えば、あるボタンを押すとStoryBoardを使ってラベルのWidthを50に変えます。 その後、別のボタンを押してラベルのWidthに直接値を指定しても、それが反映されません。 ※コードは下記に示します。 StoryBoardはソースで宣言して使っていますが、XAMLに書き込んだStoryBoardでも同じ現象が発生しました。
StoryBoardでプロパティを変更する前であれば、そのオブジェクトのプロパティの値を 直接指定することができるのですが、一度でもStoryBoardが操作したプロパティには値を 指定しても反映されません。
StoryBoardで値を変更すると、そのプロパティを解放せずにずっと保持しているのかな??
StoryBoardでプロパティを変更した後でもプロパティの値を直接指定して変更する方法をおわかりの方は いらっしゃいますでしょうか。
よろしくお願いいたします。
※ Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs) Dim myDoubleAnimation As DoubleAnimation = New DoubleAnimation()
myDoubleAnimation.To = 50 myStoryboard = New Storyboard() myStoryboard.Children.Add(myDoubleAnimation) myDoubleAnimation.Duration = New Duration(TimeSpan.FromSeconds(0.6)) Storyboard.SetTargetName(myDoubleAnimation, TestLabel.Name) Storyboard.SetTargetProperty(myDoubleAnimation, New PropertyPath(Canvas.WidthProperty)) myStoryboard.Begin(Me) End Sub
Private Sub Button_Click_3(sender As Object, e As RoutedEventArgs) TestLabel.Width = 200 End Sub
|