Я пытаюсь выполнить анимацию для ячейки в сетке данных, когда значение ячейки сетки данных изменяется.
Сам datagrid привязан к ObservableCollection из простых старых объектов CLR. В этом случае допустим, что объекты являются объектами «Человек» со свойствами «Имя», «Фамилия» и «Возраст». Класс Person реализует интерфейс INotifyPropertyChanged, и каждое свойство имеет соответствующий вызов onPropertyChanged в его установщике.
Все в порядке. В определении datagrid я установил DataTemplate для рисования каждой ячейки и также добавил триггер данных ... следующим образом:
<DataGridTemplateColumn Header="FirstName">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border Name="templateBorder">
<TextBlock Name="templateTextBlock" Text="{Binding Path=FirstName}" />
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=FirstName}" Value="Richard">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard AutoReverse="True">
<DoubleAnimation Storyboard.TargetName="templateTextBlock" Storyboard.TargetProperty="Opacity" To=".1" Duration="0:0:.5" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Когда объект в моей коллекции ObservableCollection обновляется (я изменил значение FirstName), сетка данных обновляется нормально. В соответствии с приведенным выше примером, если я изменил значение FirstName на «Ричард», анимация тоже будет выполнена нормально.
Моя проблема в том, что мне нужно запускать анимацию независимо от нового значения имени. Я просматривал Интернет, но некоторые, кажется, находят только примеры срабатывания триггера против известного значения, например. активируйте триггер, когда FirstName - «Ричард», как я продемонстрировал в моем примере.
У меня вопрос: как запустить триггер данных независимо от значения обновленного свойства? Итак, в основном, как мне запускать триггер данных всякий раз, когда свойство FirstName обновляется для данной строки в сетке данных.
Большое спасибо.