wpf - запускать триггер данных, когда свойство изменяется независимо от нового значения

Я пытаюсь выполнить анимацию для ячейки в сетке данных, когда значение ячейки сетки данных изменяется.

Сама сетка данных привязана к ObservableCollection из простых старых объектов CLR. В этом случае допустим, что объекты являются объектами «Человек» со свойствами «Имя», «Фамилия» и «Возраст». Класс 'Person' реализует интерфейс INotifyPropertyChanged, и каждое свойство имеет соответствующий вызов onPropertyChanged в его установщике.

Это все нормально. В определении datagrid я установил DataTemplate для рисования каждой ячейки и также прикрепил datatrigger ... следующим образом:

<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), datagrid обновляется нормально. В соответствии с приведенным выше примером, если я изменил значение FirstName на «Richard», то анимация тоже будет выполнена нормально.

Моя проблема в том, что мне нужно запустить анимацию независимо от нового значения Firstname. Я просматривал Интернет, но некоторые, кажется, находят только примеры запуска триггера против известного значения, например. запускать триггер, когда FirstName - «Ричард», как я продемонстрировал в моем примере.

Мой вопрос в том, как запустить триггер данных независимо от значения обновленного свойства? Итак, в основном, как мне запускать триггер данных всякий раз, когда свойство FirstName обновляется для данной строки в сетке данных.

Большое спасибо.

25
задан Peanut 1 June 2011 в 08:07
поделиться