Tôi đang gặp rắc rối thực hiện một phim hoạt hình kịch bản đơn giản dựa trên chiều cao của một điều khiển trong một ứng dụng C#/XAML Metro-style trên Windows 8.Làm thế nào để animate chiều cao tầm kiểm soát trong Windows 8 XAML
Các XAML tầm thường sau và mã đằng sau đoạn hoạt động tốt trong Silverlight 5 và Windows Phone 7, nhưng không làm gì cả trong Windows 8 (ít nhất là đối với tôi):
<Page.Resources>
<Storyboard x:Name="expandAnimation">
<DoubleAnimation Storyboard.TargetName="scaleButton" Storyboard.TargetProperty="Height" From="50" To="200" Duration="0:0:1"/>
</Storyboard>
</Page.Resources>
<StackPanel Width="200">
<Button x:Name="scaleButton" Click="scaleButton_Click" Content="Scale"/>
<Button Content="Another button"/>
<Button Content="Yet another button"/>
</StackPanel>
C# mã:
private void scaleButton_Click(object sender, RoutedEventArgs e)
{
expandAnimation.Begin();
}
cùng mã có thể được thay đổi để làm sống động các thuộc tính khác của điều khiển như Opacity hoạt động như mong đợi.
Tôi có thể tạo hoạt ảnh cho ScaleTransform để thực hiện mở rộng quy mô, nhưng nó làm thay đổi hiển thị nội bộ của điều khiển và không ảnh hưởng đến bố cục của các điều khiển lân cận, đây là vấn đề đối với tôi.
Hy vọng rằng tôi không thiếu bất kỳ điều gì rõ ràng ở đây, nhưng điều này không nên hoạt động?
Cảm ơn bạn rất nhiều @Sofian! Thêm 'EnableDependentAnimation =" True "' vào phần tử DoubleAnimation trong xaml ở trên đã thực hiện thủ thuật. – Pete
Cảm ơn rất nhiều nhưng bạn có thể giải thích những gì tài sản này không. – Stilgar
@Stilgar http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj819807#dependent giải thích lý do – legends2k