绑定“绑定列表”DataTemplate与转换器不更新

问题描述:

我有视图模型BindingList<Wave>绑定“绑定列表”DataTemplate与转换器不更新

这里是模型(只显示一个属性)。

public class Wave : INotifyPropertyChanged 
{ 
    private double _period; 

    public double Period 
    { 
     get { return _period; } 
     set 
     { 
      if (value.Equals(_period)) return; 
      _period = value; 
      OnPropertyChanged(nameof(Period)); 
     } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 

    protected virtual void OnPropertyChanged(string propertyName = null) 
    { 
     PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 
    } 
} 

下面我试着去视图模型绑定到画布上,并用折线其作品,但只有一次吸引他们。

问题是,当我改变属性视图不更新。 (转换器在第一次后不会发射)。

​​

PlotterConverter只是返回PointCollection。用一些公式但在这里并不重要。

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
{ 
    return new PointCollection(GetPoints(value as Wave)); 
} 

您未使用Binding Mode = TwoWay

<Polyline Points="{Binding ., Mode=TwoWay, Converter={StaticResource PlotterConverter}}"/> 
+0

谢谢,但它仍然没有更新。该转换器仅在第一次启动。要么我使用单向或双向绑定模式。 –

+2

@ M.kazemAkhgary如果您移除了转换器,您是否可以看到这些值的变化? – AnjumSKhan

+0

转换器将'Wave'转换为'PointCollection'。这是不可能的,因为Points属性需要PointCollection。 '波浪'只是持有公式来产生点。该公式是动态的。让我尝试将WaveCollection放入Wave模型中。 –