【问题标题】:Animating the background of a new record added to a XamDataGrid为添加到 XamDataGrid 的新记录的背景设置动画
【发布时间】:2009-05-22 14:22:21
【问题描述】:
好的,我花了 2 天时间试图弄清楚如何做到这一点,到目前为止,我的得分为“失败”。
设计是这样的:
- ViewModel 类公开了一个名为 People 的公共 ObservableCollection 属性。
- XAML 视图绑定到此属性
期望的行为是这样的:
- 向 ViewModel 的集合中添加一个新人
- 视图会在新记录出现在 XamDataGrid 中时为其背景设置动画,基本上会以红色闪烁 2 秒。
我尝试将 grid 的 InitializeRecord 挂接到 EventTrigger 的 RoutedEvent 属性中,但无济于事。 (事件名称无效,所以我认为这不是 RoutedEvent)
此外,由于我试图尽可能保持 MVVM,因此我想避免任何需要代码隐藏更改的解决方案。请仅使用 XAML。
【问题讨论】:
标签:
wpf
mvvm
infragistics
【解决方案1】:
给你的 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>