2010-03-26 119 views
4

是否有人知道它是否可以动画app.current.mainwindow.width,以便在编程调整oob应用程序窗口的大小时获得一个很好的动画。 谢谢。Silverlight 4和浏览器

回答

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; 
} 
背后
1

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