Я работаю над сеткой WPF, перечисляя некоторые объекты. Если данные об объекте меняются, я хочу начать анимацию.WPF анимация при изменении данных
Ниже отрывок кода XAML перечислен
<ListView Name="ListViewEmployeeDetails" Grid.Row="1" Margin="4,109,12,23" ItemsSource="{Binding Products}" >
<ListView.View>
<GridView x:Name="grdTest">
<GridViewColumn Header="ID" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock x:Name="idField" Text="{Binding ID}" TextDecorations="Underline" Foreground="Blue"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding ID}">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:5" To="0.0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="idField"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" Width="100" />
<GridViewColumn Header="Price" DisplayMemberBinding="{Binding Price}" Width="100" />
<GridViewColumn Header="Reliab" DisplayMemberBinding="{Binding Reliability}" Width="100" />
</GridView>
</ListView.View>
</ListView>
Всякий раз, когда изменяется свойство, я огонь PropertyChangedEvent. Например, сеттер идентификатору выглядит следующим образом:
set
{
m_ID = value;
OnPropertyChanged("ID");
}
Где OnPropertyChanged функция выглядит следующим образом:
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
Однако, когда ID изменяется, анимация не срабатывает. Любая идея о том, как это исправить?
Большое спасибо, что это сработало как шарм! – irundaia