在时间间隔内重新执行列表视图转换器

本文关键字:执行 列表 转换器 视图 新执行 时间 | 更新日期: 2023-09-27 18:31:55

我需要重新执行特定列表视图列的转换器,比如每秒。绑定属性的值不会更改。所以我无法使用可观察集合或触发器。是否可以重新运行转换器?

在时间间隔内重新执行列表视图转换器

我假设您的ListView模型确实(并且应该)实现INotifyPropertyChanged接口,要强制调用转换器,您可以简单地设置一个计时器并每 1 秒调用一次OnPropertyChanged("NameOfProperty");,其中NameOfProperty是您ListView列绑定到的属性的名称:

 public MainWindow()
    {
        InitializeComponent();
        var timer = new System.Timers.Timer();
        timer.Elapsed += OnTimedEvent;
        timer.Interval = 1000;
        timer.Enabled = true;
    }
    private void OnTimedEvent(object sender, ElapsedEventArgs e)
    {            
        OnPropertyChanged("NameOfProperty");
    }