2009-05-22 6 views
1

Ok, j'ai passé 2 jours à essayer de comprendre comment faire cela et j'ai jusqu'à présent obtenu un score de 'FAIL'.Animer l'arrière-plan d'un nouvel enregistrement ajouté à un XamDataGrid

La conception est la suivante:

  1. Une classe ViewModel expose une propriété publique ObservableCollection a appelé les gens.
  2. Une vue XAML est lié à cette propriété

Le comportement souhaité est la suivante:

  1. Ajouter une nouvelle personne à la collection
  2. La vue anime l'arrière-plan du nouveau record du ViewModel comme il apparaît dans le XamDataGrid, clignotant essentiellement rouge pendant 2 secondes.

J'ai essayé d'accrocher le InitializeRecord de la grille dans la propriété RoutedEvent d'un EventTrigger, en vain. (Invalid Event Name, donc je suppose que ce n'est pas un RoutedEvent)

En outre, comme j'essaie de garder MVVM comme possible, je voudrais éviter toute solution qui nécessite des modifications par code. XAML seulement s'il vous plaît.

Répondre

1

Ajoutez une propriété à votre classe People, par exemple newRow. Ensuite, utilisez un déclencheur de données sur la propriété newRow pour appliquer un nouveau style au CellValuePresenter, afin de modifier sa couleur d'arrière-plan comme vous le souhaitez. En interne, vous pouvez modifier la valeur de newRow pour désactiver le déclencheur.

<DataTrigger Binding="{Binding .DataItem[IsRecentUpdate]}" Value="True"> 
     <Setter Property="Background" Value="#FFFFE87C" /> 
     <Setter Property="BackgroundHover" Value="#FFFFE87C" /> 
     <Setter Property="BackgroundActive" Value="#FFFFE87C" /> 
     <Setter Property="BackgroundSelected" Value="#FFFFE87C" /> 
    </DataTrigger> 
Questions connexes