Вы можете попробовать следующее:
<Grid x:Name="FrameContainer">
<Canvas x:Name="Canvas1" Visibility="Collapsed"><!-- shapes --></Canvas>
<Canvas x:Name="Canvas2" Visibility="Collapsed"><!-- shapes --></Canvas>
<Canvas x:Name="Canvas3" Visibility="Collapsed"><!-- shapes --></Canvas>
<Canvas x:Name="Canvas4" Visibility="Collapsed"><!-- shapes --></Canvas>
<Canvas x:Name="Canvas5" Visibility="Collapsed"><!-- shapes --></Canvas>
<Canvas x:Name="Canvas6" Visibility="Collapsed"><!-- shapes --></Canvas>
...
</Grid>
Затем создайте раскадровку, которая переключает видимость каждого холста, чтобы он выглядел как покадровая анимация.
У меня была похожая проблема в проекте, и я создал пользовательский элемент управления, который имеет (int) свойство зависимости Frame, которое отвечает за скрытие / отображение элементов из шаблона. Вы также можете анимировать свойство Frame.