
Untitled
By: a guest on
Apr 18th, 2012 | syntax:
None | size: 1.25 KB | hits: 13 | expires: Never
How to start the storyboard extract from a separate xaml file
<Viewport3D x:Name="ZAM3DViewport3D" ClipToBounds="true" Width="400" Height="300" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006" xmlns:c="http://schemas.openxmlformats.org/markup-compatibility/2006" c:Ignorable="d">
<Viewport3D.Triggers>
<EventTrigger RoutedEvent="Viewport3D.Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard Duration="Forever" FillBehavior="HoldEnd" BeginTime="0:0:0" x:Name="storyboard" d:StoryboardName="OnLoaded">
.....
</Viewport3D.Triggers>
<ModelVisual3D>
.....
</ModelVisual3D>
......
</Viewport3D>
class Model
{
ModelVisual3D mv3d;
Storyboard3D sb;
}
Viewport3D v3d = (Viewport3D)XamlReader.Load(FILE_STREAM);
Model mm;
// extract storyboard
if (v3d.Triggers.Count > 0)
{
var trigger = (EventTrigger)v3d.Triggers[0];
var beginSb = (BeginStoryboard)trigger.Actions[0];
mm.sb = beginSb.Storyboard;
}
ModelVisual3D mv3d = (ModelVisual3D)v3d.Children[0];
mm.mv3d = mv3d;
modeler.Children.Add(mm.mv3d);
mm.sb.begin();