有谁知道是否可以为 app.current.mainwindow.width 设置动画,以便在以编程方式调整 oob 应用程序窗口的大小时获得带有缓动的漂亮动画。谢谢。
问问题
363 次
2 回答
1
您应该查看此 Channel 9 演示文稿,以在浏览器外支持中自定义窗口镶边。您的应用程序需要提升信任才能自定义 chrome,但这可能使您能够做您想做的事情。
于 2010-04-05T14:42:34.097 回答
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;
}
于 2010-04-22T07:57:23.253 回答