2009-03-12 41 views
27

Trong dự án của tôi, tôi có một Hộp danh sách WPF được gắn với một ObservableCollection. Mỗi khi tôi thêm một mục mới vào Bộ sưu tập, cùng một mục sẽ được thêm vào hộp danh sách một cách tự động. Để hiển thị các mục trong Listbox, tôi sử dụng Bảng kê XAML.Animate WPF Datatemplate khi mục được thêm vào Listbox?

Điều tôi muốn làm là animate một mục khi nó được thêm vào Bộ sưu tập/Listbox. Điều này có thể thực hiện được không? Như hoạt hình trong datatemplate có thể? Tôi đoán tôi cần một kích hoạt bằng cách nào đó để bắt đầu animate này nhưng những gì kích hoạt được bắn khi một mục mới/datatemplate được thêm vào?

Trả lời

25

Tôi nghĩ rằng trình kích hoạt sự kiện cho sự kiện định tuyến của FrameworkElement.Loaded có thể hoạt động. Ví dụ:

<DataTemplate DataType="{x:Type l:Foo}"> 
    <Button x:Name="Button" Content="{Binding Path=Bar}"> 
     <Button.Background> 
      <SolidColorBrush x:Name="ButtonBrush" Color="Tan" /> 
     </Button.Background> 
    </Button> 
    <DataTemplate.Triggers> 
     <EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="Button"> 
      <BeginStoryboard> 
       <Storyboard> 
        <ColorAnimation Storyboard.TargetName="ButtonBrush" Storyboard.TargetProperty="Color" To="Red" /> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </DataTemplate.Triggers> 
</DataTemplate> 
+0

Hoạt động như một giấc mơ! Cảm ơn – TalkingCode

+0

Mẹo hay, tnx! =) –

Các vấn đề liên quan