我是WPF的新手,刚刚开始习惯它, 我想在加载时在屏幕上移动页面。我目前使用的代码是:
<!DOCTYPE html>
<html>
<head>
<script data-main="script" src="//requirejs.org/docs/release/2.1.20/minified/require.js"></script>
</head>
<body>
<div id="placeHolder">Placeholder Here</div>
</body>
</html>
虽然这对我来说很好,但我想要的是不在
的值字段中使用硬值(1920)<Storyboard>
<ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" BeginTime="00:00:00">
<SplineThicknessKeyFrame KeyTime="00:00:00" Value="1920,0,0,0" />
<SplineThicknessKeyFrame KeyTime="00:00:02" Value="0,0,0,0" />
</ThicknessAnimationUsingKeyFrames>
<DoubleAnimation
Storyboard.TargetName="SummaryPageName"
Storyboard.TargetProperty="Opacity"
From="0" To="1" Duration="0:0:2"
AutoReverse="False">
</DoubleAnimation>
</Storyboard>
如果没有指定此值,是否仍然可以这样做,以便它也可以与其他分辨率一起使用。
谢谢
答案 0 :(得分:0)
使用后面的代码修改KeyFrame值。 您应该将资源名称分配给要由后面的代码找到的故事板资源。
[XAML]
<Storyboard x:Key="myStoryboard">
通过引用x:Key获取Storyboard对象实例。
[C#]
private void MainWindow_SizeChanged(object sender, SizeChangedEventArgs e)
{
Storyboard s = this.Resources["myStoryboard"] as Storyboard;
SplineThicknessKeyFrame k = (s.Children[0] as ThicknessAnimationUsingKeyFrames).KeyFrames[0] as SplineThicknessKeyFrame;
k.Value = new Thickness(e.NewSize.Width,0,0,0);
}
您也可以使用数据绑定来更改关键帧值。如果需要更改大量关键帧资源,则应使用数据绑定。否则,手动更改值很容易准备。