Silverlight 4和浏览器

时间:2010-03-26 23:40:36

标签: silverlight silverlight-4.0 out-of-browser

是否有人知道是否可以为app.current.mainwindow.width设置动画,这样如果以编程方式调整oob应用程序窗口的大小,就可以获得一个很好的动画。 感谢。

2 个答案:

答案 0 :(得分:1)

您应该查看this Channel 9 presentation,以便在浏览器外支持中自定义窗口镶边。您的应用程序需要提升信任度来自定义镶边,但这可能使您能够执行您想要执行的操作。

答案 1 :(得分:1)

最简单的方法是向页面添加滑块控件。滑块可以折叠,仅用于轻松实现动画效果。为滑块的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;
}