Trong số Application.Resources
Tôi có Storyboard
được xác định sau.WP7 - Sử dụng bảng phân cảnh được xác định trong Application.Resources
<Application.Resources>
<!--Storyboard animation for fading out a UI element-->
<Storyboard x:Key="FadeOutAnimation">
<DoubleAnimation From="1"
To="0"
Duration="0:0:0.25"
Storyboard.TargetProperty="Opacity"
AutoReverse="False" />
</Storyboard>
</Application.Resources>
Ở mặt sau, tôi sử dụng điều này để làm mờ một số TextBlock
khi người dùng chạm vào chúng.
// Get the storyboard from application resources
Storyboard sb = (Storyboard)App.Current.Resources["FadeOutAnimation"];
// Setup the animation target for fade out
Storyboard.SetTarget(sb.Children.ElementAt(0) as DoubleAnimation, myTextBlock);
// Set the animation completed handler
sb.Completed += (s, e1) => {
// Stop the Storyboard
sb.Stop();
// Hide the TextBlock
myTextBlock.Visibility = Visibility.Collapsed;
};
// Start the Storyboard
sb.begin();
Câu hỏi đặt ra là, tôi cần phải bằng cách nào đó 'Unhook' myTextBlock
từ là mục tiêu của DoubleAnimation
?
Nếu có, tôi làm cách nào?
Lý do tôi hỏi là tôi lo lắng về việc tham chiếu đến số TextBlock
đó treo xung quanh cho đến khi Bảng phân cảnh này được sử dụng lại.
Cảm ơn sự giúp đỡ của bạn!
Bạn nói đúng, tốt hơn là làm điều này trong mã sau. – Praetorian
@Praetorian: Không phải tất cả mã đều là "code-behind", ở trên không phải là. Bạn có thể tưởng tượng một lớp trợ giúp với một số phương thức hữu ích như vậy. Nó chỉ trở thành một phần của bộ công cụ của riêng bạn. – AnthonyWJones
Điều gì là cần thiết để sử dụng thể hiện bảng phân cảnh? – kabuto178