c# - 动画网格以移动或滑动到右侧 WPF

标签 c# wpf visual-studio-2010 xaml

我有一个包含元素的网格。我想移动所有这些元素,所以不能一起移动网格吗?这对我所看到的没有任何影响,我什至尝试过 ScaleX 等。

<Grid x:Name="HancockDetails" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Grid.Column="1" RenderTransformOrigin="0.5,0.5">                       
   <Rectangle HorizontalAlignment="Left" Height="100" Stroke="Black" VerticalAlignment="Top" Width="100"/>
    <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Foreground="#FFF30000"/>               
            </Grid>
          </Grid>
      </s:ScatterViewItem>

我的功能:

Storyboard sb = new Storyboard();

DoubleAnimation slide = new DoubleAnimation();
slide.To = 3000.0;
slide.From = 0;
slide.Duration = new Duration(TimeSpan.FromMilliseconds(40.0));

// Set the target of the animation
Storyboard.SetTarget(slide,HancockDetails);
Storyboard.SetTargetProperty(slide, new PropertyPath("RenderTransform.(ScaleTransform.ScaleY)"));

// Kick the animation off
sb.Children.Add(slide);
sb.Begin();

最佳答案

您需要先在标记中添加RenderTransform,否则运行时无法找到它:

<Grid x:Name="HancockDetails" ...>  
    <Grid.RenderTransform>
        <TranslateTransform />
    </Grid.RenderTransform>
</Grid>

我假设您想要使用 TranslateTransform,而不是 ScaleTransform,因为目标是滑动网格,而不是调整它的大小?

Storyboard.SetTargetProperty(slide, 
    new PropertyPath("RenderTransform.(TranslateTransform.X)"));

关于c# - 动画网格以移动或滑动到右侧 WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17753506/

相关文章:

c++ - 在 Visual Studio 中自动化 DLL 调试 "attach to process"?

visual-studio-2010 - Visual Studio 和根命名空间

c# - 如果数量在阈值内,则捕捉到角度

javascript - 如果重构,重构 AJAX 调用将不起作用

c# - .NET 中用于处理 SQL Server 中数据的最佳免费库?

c# - 是否有适用于 ASP.NET 的免费或付费的就地可编辑语法荧光笔控件?

c# - CUIT(编码的 UI 测试)+ MVVM——我现在必须开始命名我的所有控件吗?

c# - 对包含透明元素的自定义 FrameworkElement 的整个区域进行 HitTest

wpf - 在wpf中使用transformgroup会出现错误

python - 如何让 boost.python 教程与 Visual Studio 2010 和 python 3.4 一起工作?