2012-10-23 5 views
11

나는 뉴스 피드 작업을하고 있습니다. 이 작업은 매번 업데이트되며 새 항목이 발견되면 맨 위에있는 새 내용을 슬라이드하고 싶습니다.ListBox 슬라이드 애니메이션 추가 새 항목 추가됨

는 지금, 난 그냥 수행하여 페이드 데 다음.

<ListBox Grid.Row="0" Height="Auto" HorizontalAlignment="Stretch" Margin="5,5,5,5" VerticalAlignment="Top" ItemsSource="{Binding NewsItems,UpdateSourceTrigger=PropertyChanged}" > 
     <ListBox.ItemContainerStyle>     
      <Style TargetType="{x:Type ListBoxItem}">      
       <Style.Triggers>           
         <EventTrigger RoutedEvent="Loaded"> 
         <EventTrigger.Actions>         
          <BeginStoryboard> 
           <Storyboard>          
            <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2" />  
           </Storyboard> 
          </BeginStoryboard> 
         </EventTrigger.Actions> 
        </EventTrigger> 
       </Style.Triggers> 
      </Style> 
      </ListBox.ItemContainerStyle> 
     <ListBox.ItemTemplate>  
     .... 
</ListBox> 

이 잘 작동하지만 난 정말 내의 아이템 슬라이드를하고 싶은 나는 내가 할 수있는 모든 가능한 일을 시도 찾아서 어디든 갈 수 없다. 어떤 도움이라도 대단히 감사 할 것입니다.

답변

36

이게 당신이 찾고 있는게 있니?

<ListBox x:Name="lstBox" Grid.Row="0" Height="Auto" HorizontalAlignment="Stretch" Margin="5,5,5,5" VerticalAlignment="Top" ItemsSource="{Binding NewsItems,UpdateSourceTrigger=PropertyChanged}" > 
     <ListBox.ItemContainerStyle> 
      <Style TargetType="{x:Type ListBoxItem}"> 
       <Setter Property="LayoutTransform"> 
        <Setter.Value> 
         <ScaleTransform x:Name="transform" /> 
        </Setter.Value> 
       </Setter> 
       <Style.Triggers> 
        <EventTrigger RoutedEvent="Loaded"> 
         <EventTrigger.Actions> 
          <BeginStoryboard> 
           <Storyboard> 
            <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2" /> 
            <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleY" From="0" Duration="0:0:.2"/> 
           </Storyboard> 
          </BeginStoryboard> 
         </EventTrigger.Actions> 
        </EventTrigger> 
       </Style.Triggers> 
      </Style> 
     </ListBox.ItemContainerStyle> 
    </ListBox> 
+0

그랬습니다. 나는 setter 속성을 추가하는 것을 간과했다. 고맙습니다! – TrialAndError

+0

나는 이것을 여러 번 upvote 할 수 있었으면 좋겠다! 그렇게 단순하고 정확하게 원했던 것입니다! 감사! – Darkhydro

+0

이것은 시원합니다. 불행히도 UnLoad는 아이템을 제거하기 위해 샘 웨이를 작동시키지 않습니다. 정렬 및 측정 호출을 사용하여 사용자 지정 패널 구현을 끝내기 –