Анимация фона новой записи, добавленной в XamDataGrid - PullRequest
1 голос
/ 22 мая 2009

Хорошо, я потратил 2 дня, пытаясь понять, как это сделать, и до сих пор набрал «FAIL».

Дизайн такой:

  1. Класс ViewModel предоставляет открытое свойство ObservableCollection с именем People.
  2. Представление XAML связано с этим свойством

Желаемое поведение таково:

  1. Добавление нового человека в коллекцию ViewModel
  2. Представление анимирует фон новой записи в том виде, в каком оно появляется в XamDataGrid, в основном мигая красным в течение 2 секунд.

Я пытался подключить сетку InitializeRecord к свойству RoutedEvent EventTrigger, но безрезультатно. (Неверное имя события, поэтому я предполагаю, что это не RoutedEvent)

Кроме того, поскольку я стараюсь поддерживать как можно более высокий уровень MVVM, я бы хотел избежать любого решения, которое требует изменений кода. Только на XAML, пожалуйста.

1 Ответ

1 голос
/ 10 ноября 2009

Добавьте свойство в свой класс People, скажем, newRow. Затем используйте триггер данных в свойстве newRow, чтобы применить новый стиль к CellValuePresenter, чтобы изменить его цвет фона на любой другой. Внутренне вы можете изменить значение newRow, чтобы отключить триггер.

    <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>
...