При изменении выбора в списке переключатель обновляет предыдущее выбранное значение элемента до текущего значения выбранC#

Место общения программистов C#
Ответить
Anonymous
 При изменении выбора в списке переключатель обновляет предыдущее выбранное значение элемента до текущего значения выбран

Сообщение Anonymous »

ViewModel:

Код: Выделить всё

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));
}
}
}
Я обновил элемент выбора, выбрав любое значение оператора. когда я вернулся к предыдущим выбранным элементам, в переключателе произошла потеря данных.
Это потому, что предыдущее значение обновляется с учетом текущего выбранного экземпляра элемента. Это не отдельный экземпляр для каждого выбранного элемента.
Изображение

Изображение

теперь возвращаемся к первому пункту и снова возвращаемся ко второму. Второй элемент списка потерял значение переключателя.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/797 ... ed-item-va
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»