2017-10-11 52 views
0

我有一個列表源並將其與XAML控件綁定。 請這樣想。我用「CustomControl」製作了它。C#綁定收藏+動畫

  1. 列表A(字符串 「A」 +動畫)
  2. 列表B(字符串 「B」 +動畫)
  3. 列表C(字符串 「C」 +動畫)

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」並將其插入到屬性中。

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

並且它調用PepertyChanged。而C#將從更新列表中創建新的UI。這意味着, 動畫將被重置並從頭開始。

如果不是列表,C#將不會創建新的UI。

+1

您是指故事板動畫? –

+0

如果把這個問題放在一些示例代碼中會好很多。 – Romasz

回答

0

可能您可以嘗試的是,在更新列表時關閉PropertyChanged事件,並在更新完成後打開。

YourModel.PropertyChanged -= YourModel_PropertyChanged; 

// Update the list. 

YourModel.PropertyChanged += YourModel_PropertyChanged; 
+0

我更新了一些代碼...但我無法上傳我的代碼。因爲它與設備連接。沒有設備,它不起作用... –