Animation 从CodeBehind设置栅格动画的情节提要

Animation 从CodeBehind设置栅格动画的情节提要,animation,storyboard,windows-store-apps,windows-8.1,Animation,Storyboard,Windows Store Apps,Windows 8.1,我需要一个菜单栏在我的屏幕左侧,可以滑入和滑出。由于该应用程序是跨平台的,所以它应该位于左侧,而不像通常底部的应用程序栏或顶部的导航栏 到目前为止,我得到的是: private bool isTapped = false; private void TEST_TAP(object sender, TappedRoutedEventArgs e) { System.Diagnostics.Debug.WriteLine("TAP");

我需要一个菜单栏在我的屏幕左侧,可以滑入和滑出。由于该应用程序是跨平台的,所以它应该位于左侧,而不像通常底部的应用程序栏或顶部的导航栏

到目前为止,我得到的是:

private bool isTapped = false;
        private void TEST_TAP(object sender, TappedRoutedEventArgs e)
        {
            System.Diagnostics.Debug.WriteLine("TAP");

            Storyboard s = new Storyboard();

            DoubleAnimation doubleAni = new DoubleAnimation();

            doubleAni.To = -30;
            if (isTapped) doubleAni.To = 0;

            doubleAni.Duration = new Duration(TimeSpan.FromMilliseconds(500));

            Storyboard.SetTarget(doubleAni, LOGO);
            Storyboard.SetTargetProperty(doubleAni, "(UIElement.RenderTransform).(TranslateTransform.XProperty)");

            s.Children.Add(doubleAni);
            s.Begin();
        }
我要移动的条是网格,或者应该是类似的。但这甚至无法移动单个图像。我在谷歌上搜索了一下,将
(UIElement.RenderTransform)。(TranslateTransform.XProperty)
替换为
(Canvas.Left)
。这不会崩溃,但也不会移动其他任何东西。 有什么想法或解决方案吗

编辑: 我玩了很多次,现在我知道(并测试了它)
“(Canvas.Left)”
只在画布内部工作。耶。 我的应用程序看起来是这样的:滚动视图(水平),内部是一个网格,其中的列可以显示不同的内容。最左边的列包含另一个网格,我想将其移出屏幕,然后再次移入。但是如何使用故事板动画移动网格

如果有人想到一种不同的方法来做这件事,我很高兴它能以任何方式起作用

EDIT2:
这似乎是使用
Storyboard.SetTargetProperty(doubleAni,“(UIElement.RenderTransform)。(CompositeTransform.TranslateX)”的方法但它不断崩溃=/

在使用此转换之前,您需要添加它:

Storyboard s = new Storyboard();

DoubleAnimation doubleAni = new DoubleAnimation();

doubleAni.To = to;
doubleAni.From = from;
doubleAni.Duration = new Duration(TimeSpan.FromMilliseconds(250));

// THIS LINE IS NEW
NaviBar.RenderTransform = new CompositeTransform();

Storyboard.SetTarget(doubleAni, NaviBar);
Storyboard.SetTargetProperty(doubleAni, "(UIElement.RenderTransform).(CompositeTransform.TranslateX)");

s.Children.Add(doubleAni);
s.Begin();
这就成功了。这仍然不是我想要的功能,但最难的部分-动画-现在可以工作了