C#Binding Collection + Animation

时间:2017-10-11 14:51:17

标签: c# binding uwp

我有一个List Source并将其与XAML控件绑定。 请这样想。我用“CustomControl”制作了它。

  1. 列出A(字符串“A”+动画)
  2. 列表B(字符串“B”+动画)
  3. 列出C(字符串“C”+动画)
  4. enter image description here

    现在,我可以在UI上看到3个项目。每个UI都有重复的动画。 示例:将XY大小更改为1.0,2.0和1.0(相同大小)并永久重复。

    我的问题。

    如果我使用PropertyChanged更新列表, 重复动画变为奇怪。因为当我更新列表之一时, PropertyChanged被调用。和动画强制从头开始。这不是美丽的重复...... :(

    有什么想法吗?

    我的想法。

    现在,我有一个列表的源属性。示例:

    ObservableCollection<DerMeter> _derSource = new ObservableCollection<DerMeter>();
    public ObservableCollection<DerMeter> DerSource
        {
            get { return _derSource; }
            set
            {
                this.Set(ref _derSource, value); // = PropertyChanged
            }
        }
    

    我首先修改“_derSource”并将其插入Property。

    private void updateSource()
    {
                    //Do something..
                    DerSource = _derSource;
    }
    

    它打电话给PeopertyChanged。和C#将从更新列表中创建新UI。 这意味着,动画将被重置并从头开始。

    如果它不是列表,C#将不会创建新的UI。

1 个答案:

答案 0 :(得分:0)

您可以尝试的是,在更新列表时关闭PropertyChanged事件,并在更新完成后再打开。

market.setPlace()