2009-05-22 18 views
1

好吧,我花了2天的時間試圖找出如何做到這一點,並迄今爲止取得了'失敗'的分數。動畫添加到XamDataGrid的新記錄的背景

的設計是這樣的:

  1. 一個ViewModel類公開呼籲人們一個公共的ObservableCollection財產。
  2. 一個XAML視圖綁定到這個屬性

所需的行爲方式是這樣的:

  1. 添加新成員到視圖模型的集合
  2. 的觀點激發了新紀錄的背景它出現在XamDataGrid中,基本上閃爍紅色2秒。

我試着把網格的InitializeRecord掛接到一個EventTrigger的RoutedEvent屬性中,無濟於事。 (無效的事件名稱,所以我認爲這不是一個RoutedEvent)

另外,因爲我儘量保持MVVM儘可能,我想避免任何需要代碼隱藏更改的解決方案。 XAML只請。

回答

1

將屬性添加到您的人員類別,例如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>