【问题标题】:Update WPF ListBoxItem without ListBox.Items.Refresh()?在没有 ListBox.Items.Refresh() 的情况下更新 WPF ListBoxItem?
【发布时间】:2011-05-01 13:34:57
【问题描述】:

我有一个DataTemplate,用于显示ListBox 中某个类的详细信息。 DataTemplate 有一个EventTrigger 附加到项目的Loaded 事件,该事件使用DoubleAnimation 在每个项目添加到绑定到ListBoxObservableCollection 时淡入视图。它还有一个DataTrigger,它使用DoubleAnimationColorAnimation (RepeatBehavior="Forever") 在特定条件下为发光效果设置动画。到目前为止,一切顺利。

应用程序要求项目属性需要每隔几秒更新一次。在调用ListBox.Items.Refresh() 时更新ListBox 中的项目的属性后出现问题。这会重置动画,以便每个项目淡入视图并且每隔几秒重新启动一次发光效果。如果我不调用Refresh,项目属性值不会更新。我的问题是,有没有办法单独刷新每个项目或以某种方式解决这个问题?

【问题讨论】:

    标签: wpf listbox refresh listboxitem


    【解决方案1】:

    确保ObservableCollection<T> 中的各个项目实现INotifyPropertyChanged。只要它们这样做,绑定就会自动更新,而不需要显式刷新。

    【讨论】:

    • 对不起,里德,我只是在看到你的答案之前回答了自己。无论如何,我会给你信用。 :)
    猜你喜欢
    • 2011-09-02
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2017-05-23
    相关资源
    最近更新 更多