Silverlight 4 和浏览器外

2024-04-04

有谁知道是否可以对 app.current.mainwindow.width 进行动画处理,以便在以编程方式调整 oob 应用程序窗口大小时获得一个带有缓动的漂亮动画。 谢谢。


最简单的方法是向页面添加滑块控件。滑块可以折叠,仅用于具有简单的动画属性。对滑块的 Value 属性进行动画处理。在滑块的 ValueChanged 事件中更新窗口宽度。你需要增加推力才能做到这一点。

它看起来像这样:

Xaml

<UserControl.Resources>
  <Storyboard x:Name="Storyboard1">
    <DoubleAnimation Duration="0:0:1" To="750" 
                     Storyboard.TargetProperty="(RangeBase.Value)" 
                     Storyboard.TargetName="slider1">
      <DoubleAnimation.EasingFunction>
        <BounceEase EasingMode="EaseOut"/>
      </DoubleAnimation.EasingFunction>
    </DoubleAnimation>
  </Storyboard>    
</UserControl.Resources>

<Grid x:Name="LayoutRoot" Background="Green">
  <Button Width="50" Height="32" Click="Button_Click">Test</Button>
  <Slider Visibility="Collapsed" VerticalAlignment="Bottom" 
          x:Name="slider1" Maximum="1000" 
          ValueChanged="slider1_ValueChanged" />
</Grid>

代码隐藏

private void Button_Click(object sender, RoutedEventArgs e)
{
    Storyboard1.Begin();
}

private void slider1_ValueChanged(object sender, 
                                  RoutedPropertyChangedEventArgs<double> e)
{
    Application.Current.MainWindow.Width = e.NewValue;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight 4 和浏览器外 的相关文章

随机推荐