我在Xaml中创建了一个支点。枢轴有4个项目。
在每个支点上都有一个通过以下代码创建的故事板动画:
{
var myStoryBoard = new Storyboard();
myStoryBoard.RepeatBehavior = RepeatBehavior.Forever;
var animation = new ObjectAnimationUsingKeyFrames();
Storyboard.SetTarget(animation, myAnim1);
Storyboard.SetTargetProperty(animation, new PropertyPath("Source"));
myStoryBoard.Children.Add(animation);
// try to catch my images autmatically
for (int i = 1; i <= 12; i++)
{
var keyframe = new DiscreteObjectKeyFrame
{
KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(750 * i)),
Value = String.Format("/Images/img_{0:D2}.jpg", i)
};
animation.KeyFrames.Add(keyframe);
}
Resources.Add("myAnimation", storyboard); }
如果只选择了透视项目,而所有其他故事板都没有播放,我怎样才能将故事板的开头设置为开始?
我尝试用Pivot_SelectionChanged();
设置它但没有成功。
答案 0 :(得分:7)
我认为您必须在页面的加载方法中创建所有故事板,然后显示或隐藏故事板。
public MainPage() { // Create storyboard1 // create storyboard2 ... }
然后使用Pivot_SelectionChanged方法显示或隐藏故事板
private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (((Pivot)sender).SelectedIndex) { case 0: storyboard1.Begin(); storyboard2.Stop(); break; case 1: storyboard2.Begin(); storyboard1.Stop(); break; } }