【发布时间】:2017-09-19 22:21:16
【问题描述】:
我在 WPF 应用程序中遇到以下情况:
我从套接字推送了一些数据,这些数据可以是新项目,也可以是已编辑的数据。
更新项目时,我必须让行闪烁,这实际上是使用布尔属性 IsChanged 执行的
-
我有以下 DataTrigger
<Style TargetType="{x:Type telerik:GridViewCell}" x:Key="Style"> <Style.Triggers> <DataTrigger Binding="{Binding IsChanged}" Value="True"> <DataTrigger.EnterActions> <RemoveStoryboard BeginStoryboardName="Highlight" /> <BeginStoryboard Name="Highlight"> <Storyboard> <ColorAnimation Duration="00:00:03" From="Red" FillBehavior="Stop" Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)" /> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> </DataTrigger> </Style.Triggers>
使用 CellStyleSelector 将以下样式应用于 RadGridView 的每一行。目前,但我认为它是一个 HACK 我有一个将值重置为 false 的接口
public override Style SelectStyle(object item, DependencyObject container)
{
if (item is INotifyUpdate notifyUpdate)
{
//First I check if the cell has to blink
if (notifyUpdate.IsChanged)
{
notifyUpdate.IsChanged = false;
}
...
}
- 我的问题是我必须执行此 hack 以将值重置为 false,否则它将设置为 true 并且永远不会恢复。结果,当更新另一行并刷新网格时,我让已更新的行再次闪烁。
有没有办法可以将 false 值设置回 false?
【问题讨论】: