Все У меня есть следующая DataGrid
WPF Анимация не розжиг
<DataGrid x:Name="resourceDataGrid"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
AutoGenerateColumns="false"
GridLinesVisibility="None"
RowHeaderWidth="0"
CanUserAddRows="True"
CanUserDeleteRows="True"
ItemsSource="{Binding Path=Resources,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged,
IsAsync=True}">
<DataGrid.Columns>
<DataGridTemplateColumn CellTemplate="{StaticResource readOnlyCellUpdatedStyle}" IsReadOnly="True"/>
<!--<DataGridTextColumn Header="KeyIndex" Binding="{Binding KeyIndex}" IsReadOnly="True"/>--> <- What I did have...
<DataGridTextColumn Header="FileName" Binding="{Binding FileName}" IsReadOnly="True"/>
<DataGridTextColumn Header="ResourceName" Binding="{Binding ResourceName}" IsReadOnly="False"/>
<controls:CollectionTextColumn Collection="ResourceStringList" Visibility="Collapsed"/>
</DataGrid.Columns>
</DataGrid>
, когда строка в наборе данных удаляются, я хочу, чтобы повторно номер в KeyIndex
столбце. Когда происходит эта нумерация, я хочу элегантно вспыхнуть обновленные ячейки, позволяющие пользователю узнать, что эти значения были обновлены.
Я создал следующий DataTemplate
<DataTemplate x:Key="readOnlyCellUpdatedStyle">
<TextBlock Text="{Binding KeyIndex, NotifyOnSourceUpdated=True, Mode=TwoWay}">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<EventTrigger RoutedEvent="Binding.SourceUpdated">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color"
Duration="0:0:0.3"
From="White"
To="Red"
RepeatBehavior="3x"
AutoReverse="True"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
Связывающую все еще работает на KeyIndex
, но когда я обновить KayIndex
значения из ViewModel Теперь анимации происходит значение только изменения. Почему анимация не срабатывает при обновлении KeyIndex
?
Спасибо за ваше время.
Это качество, право летучей мыши. Теперь у меня есть проблема, что это обновление, когда данные сначала загружаются в 'DataGrid' любую идею, как предотвратить это? – MoonKnight
Пс. Спасибо за ваше время. – MoonKnight
Хмм ... это может быть немного сложно, –