Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grid 更改网格列';世界其他地区';在Windows应用商店应用程序中按情节提要动画显示的宽度/高度_Grid_Storyboard_Windows Store Apps_Timeline - Fatal编程技术网

Grid 更改网格列';世界其他地区';在Windows应用商店应用程序中按情节提要动画显示的宽度/高度

Grid 更改网格列';世界其他地区';在Windows应用商店应用程序中按情节提要动画显示的宽度/高度,grid,storyboard,windows-store-apps,timeline,Grid,Storyboard,Windows Store Apps,Timeline,我正在寻找一些方法,通过故事板中定义的动画来更改网格列的宽度(或行的高度)。我已经找到了一些WPF应用程序的解决方案,但它们在Windows应用商店编程中都是无用的,例如: 这样的结果是否可以通过创建一个自定义类(从Timeline继承)来获得?如果是这样的话,哪些组件应该被重写以正确实现?您应该能够使用简单的双动画。确保将EnableDependentAnimation=True设置为大纲 尝试时需要了解的一点是,ColumnDefinitions是一个GridLengthstruct。

我正在寻找一些方法,通过
故事板中定义的动画来更改网格列的宽度(或行的高度)。我已经找到了一些WPF应用程序的解决方案,但它们在Windows应用商店编程中都是无用的,例如:


这样的结果是否可以通过创建一个自定义类(从Timeline继承)来获得?如果是这样的话,哪些组件应该被重写以正确实现?

您应该能够使用简单的
双动画。确保将
EnableDependentAnimation=True
设置为大纲


尝试时需要了解的一点是,
ColumnDefinitions
是一个
GridLength
struct
。你可以找到更多关于它们的信息。您需要将动画设置为
属性。

下面是一个示例方法,用于设置网格列定义MaxWidth的动画

    private void Animate(ColumnDefinition column)
    {
        Storyboard storyboard = new Storyboard();

        Duration duration = new Duration(TimeSpan.FromMilliseconds(500));
        CubicEase ease = new CubicEase { EasingMode = EasingMode.EaseOut };

        DoubleAnimation animation = new DoubleAnimation();
        animation.EasingFunction = ease;
        animation.Duration = duration;
        storyboard.Children.Add(animation);
        animation.From = 1000;
        animation.To = 0;
        animation.EnableDependentAnimation = true;
        Storyboard.SetTarget(animation, column);
        Storyboard.SetTargetProperty(animation, "(ColumnDefinition.MaxWidth)");

        storyboard.Begin();
    }

GridLength.Value属性没有setter。我相信它也需要是一个依赖属性才能与DoubleAnimation一起工作。啊,你部分是正确的
GridLength
是一个
struct
,因此您需要将
ColumnDefinition
Width
设置为一个新的
GridLength
。您可以发布一些如何使用DoubleAnimation实现这一点的示例代码吗?这将是非常有益的,非常感谢。