2010-11-01 2 views
0

Я знаю, что раскадровки сложны со всей их непринужденностью, но можно ли поделиться анимацией с несколькими раскадровки? Что-то вдоль линий Далее то, что я пытаюсь сделать:Можно ли включить ресурс раскадровки в качестве ребенка другой раскадровки?

<UserControl.Resources> 
    <Storyboard x:Key="SharedAnimation" /> 
</UserControl.Resources> 

... 
    <VisualState Name="Animation1"> 
    <Storyboard SpeedRatio="1"> 
     <Somehow include SharedAnimation /> 
    </Storyboard> 
    </VisualState> 

    <VisualState Name="Animation2"> 
    <Storyboard SpeedRatio="1.5"> 
     <Somehow include SharedAnimation /> 
    </Storyboard> 
    </VisualState> 
...  
+0

Поскольку XAML является только объявлением объектов и свойств класса, вполне возможно иметь возможность обмениваться элементами, но это сделает файл недействительным такими инструментами, как Expression Blend. Гораздо проще выполнять сложные анимации с Blend, чем вручную, поэтому лучше не делать ваши файлы XAML нестандартными, если вы можете им помочь. Cheers –

+0

Я вас понимаю, но для конкретных ситуаций, о которых я думаю, это относится к пользовательским элементам управления, которые не обязательно должны были бы хорошо играть в Blend. – MojoFilter

ответ

0

я не пробовал его здесь, потому что я в настоящее время не имеют VS в этой машине, но это может работать:

<VisualState Name="Animation1"> 
    <Storyboard SpeedRatio="1"> 
    <StaticResource ResourceKey="SharedAnimation" /> 
    </Storyboard> 
</VisualState> 
+0

Это работает в Silverlight? У меня создалось впечатление, что StaticResource существует только как расширение разметки в silverlight. – MojoFilter

+0

Все расширения разметки соответствуют обычным классам, которые производятся от MarkupExtension. – robertos

Смежные вопросы