【问题标题】:C# Binding Collection + AnimationC#绑定集合+动画
【发布时间】:2018-03-23 07:32:39
【问题描述】:

我有一个列表源并将其与 XAML 控件绑定。 请这样想。我是用“CustomControl”做的。

  1. 列表A(字符串“A”+动画)
  2. 列表 B(字符串“B”+动画)
  3. 列表C(字符串“C”+动画)

现在,我可以在 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”并将其插入到属性中。

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

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

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

【问题讨论】:

  • 你的意思是故事板动画?
  • 如果有问题的示例代码会更好。

标签: c# binding uwp


【解决方案1】:

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

YourModel.PropertyChanged -= YourModel_PropertyChanged;

// Update the list.

YourModel.PropertyChanged += YourModel_PropertyChanged;

【讨论】:

  • 我更新了一些代码...但我无法上传我的代码。因为它与设备相连。没有设备,它就无法工作......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 2014-07-24
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 2017-04-02
相关资源
最近更新 更多