public class DefectSizingVM :INotifyPropertyChanged
{
public DefectSizingVM()
{
SizingCuveLengthVMs = new ObservableCollection();
SizingCuveLengthVMs.Add(new SizingCurveLengthVM(new SizingCurveLength("Curve 1")));
SizingCuveLengthVMs.Add(new SizingCurveLengthVM(new SizingCurveLength("Curve 2")));
SizingCuveLengthVMs.Add(new SizingCurveLengthVM(new SizingCurveLength("Curve 3")));
SizingCuveLengthVMs.Add(new SizingCurveLengthVM(new SizingCurveLength("Curve 4")));
SelectedSizingCuveLengthVM = SizingCuveLengthVMs[0];
}
public ObservableCollection SizingCuveLengthVMs { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
private SizingCurveLengthVM sizingCurveLengthVM;
public SizingCurveLengthVM SelectedSizingCuveLengthVM
{
get { return sizingCurveLengthVM; }
set { sizingCurveLengthVM = value; OnPropertyChanged("SelectedSizingCuveLengthVM"); }
}
protected void OnPropertyChanged(string propname)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propname));
}
}
}
Я обновил элемент выбора, выбрав любое значение оператора. когда я вернулся к предыдущим выбранным элементам, в переключателе произошла потеря данных.
Это потому, что предыдущее значение обновляется с учетом текущего выбранного экземпляра элемента. Это не отдельный экземпляр для каждого выбранного элемента.
теперь возвращаемся к первому пункту и снова возвращаемся ко второму. Второй элемент списка потерял значение переключателя.
public event PropertyChangedEventHandler PropertyChanged;
private SizingCurveLengthVM sizingCurveLengthVM; public SizingCurveLengthVM SelectedSizingCuveLengthVM { get { return sizingCurveLengthVM; } set { sizingCurveLengthVM = value; OnPropertyChanged("SelectedSizingCuveLengthVM"); } } protected void OnPropertyChanged(string propname) { if (this.PropertyChanged != null) { this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propname)); } } } [/code]
Я обновил элемент выбора, выбрав любое значение оператора. когда я вернулся к предыдущим выбранным элементам, в переключателе произошла потеря данных. Это потому, что предыдущее значение обновляется с учетом текущего выбранного экземпляра элемента. Это не отдельный экземпляр для каждого выбранного элемента. [img]https://i.sstatic.net/H3Lez1kO.png[/img]
[img]https://i.sstatic.net/wjMhB8XY.png[/img]
теперь возвращаемся к первому пункту и снова возвращаемся ко второму. Второй элемент списка потерял значение переключателя. [img]https://i.sstatic.net/ykaEyg90.png[/img]