2016-02-07 3 views
0

Возможно ли начать раскадровку из кода позади (.cs-файл), который находится внутри шаблона данных. Код ниже не работает, пожалуйста, советую мне.Раскадровка внутри datatemplate Windows 8.1

<HubSection Width="800" x:Name="Section2" Header="Section 2" Foreground="Black"> 
     <DataTemplate x:Name="DataTemplateNotificaiton" > 
      <Grid Background="White" Width="700" Height="500" Margin="-20" > 
        <Canvas x:Name="canvas" Margin="0,302,0,-302" Canvas.ZIndex="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" RenderTransformOrigin="0.5,0.5" > 
            <Canvas.Resources> 
             <Storyboard x:Name="TileAnimation"> 
              <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="canvas"> 
               <EasingDoubleKeyFrame KeyTime="0" Value="-1.5"/> 
               <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="-252"/> 
              </DoubleAnimationUsingKeyFrames> 
             </Storyboard> 
            </Canvas.Resources> 
            <Canvas.RenderTransform> 
             <CompositeTransform/> 
            </Canvas.RenderTransform> 
            <TextBlock x:Name="panel1" Margin="30,30,0,0" Text="sdasdasdasd" FontFamily="Segoe WP Light" FontSize="32" > 
             <TextBlock.RenderTransform> 
              <TranslateTransform/> 
             </TextBlock.RenderTransform> 
            </TextBlock> 
            <TextBlock x:Name="panel2" Margin="30,7,0,0" TextWrapping="Wrap" Text="adasdasdasdasd" FontFamily="Segoe WP Light" FontSize="22" Canvas.Top="98"> 
             <TextBlock.RenderTransform> 
              <TranslateTransform/> 
             </TextBlock.RenderTransform> 
            </TextBlock> 


           </Canvas> 


         </Grid> 
        </DataTemplate> 
       </HubSection> 

C# код позади:

Storyboard anim = (Storyboard)FindName("TileAnimation"); 
     anim.Begin(); 

ответ

0

Да, но сложный и не рекомендуется, если вы хотите сохранить ваш код читаемым. Что я рекомендую, разработайте userControl, который содержит все, что сейчас находится в вашем шаблоне, а затем создайте анимацию в этом элементе управления. Вы можете легко добавить этот новый элемент управления в datatemplate вместо кода выше. Это также облегчает проверку элемента управления.

НТН-Oliver

+0

да Оливер, если я таким образом, раскадровка возвращается нуль в UserControl. –

+0

Где вы звоните в этот код? Прямо в конструкторе? Или позже в загруженном событии? – TheOliver

+0

попробовал как в конструкторе, так и в page_loaded –

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