У меня есть класс QuestionsFile
, в котором есть вопросы, имя и т.д. ...
Теперь я создал приложение wpf, и у меня есть окно с разными страницами.Эти страницы наследуют класс BaseViewModel
.Я создаю свои страницы в классе WindowViewModel
(где я передаю новый объект QuestionsFile
в конструктор и отправляю его через конструкторы других моделей представления):
var chooseQFVM = new ChooseQuestionsFileViewModel(this.QuestionsFile);
var showChosenQFVM = new ShowChosenQuestionsFileViewModel(this.QuestionsFile);
var pages2 = new List<WizardControlViewBaseModel>();
pages2.Add(chooseQFVM);
pages2.Add(showChosenQFVM);
pages = new ReadOnlyCollection<WizardControlViewBaseModel>(pages2);`
Все эти модели представления наследуют BaseViewModel
класс, который имеет свойство QuestionsFile
.
поэтому, скажем, я изменяю свойство QuestionsFile
переменной chooseQFView
из комбинированного списка и передаю его - то же самое свойство в классе BaseBiewModel
должно быть изменено.Вот этот код свойства в классе BaseBiewModel
:
public QuestionsFile QuestionsFile
{
get { return qfile; }
set
{
qfile = value;
OnPropertyChanged("QuestionsFile");
}
}
Итак, я вызываю событие PropertyChanged
, но когда я хочу вызвать это свойство на следующей странице и отлаживаю, оно говорит:что все свойства моего QuestionsFile
равны нулю ..
это код, в котором я изменяю значение свойства QuestionsFile
:
public OptionViewModel<QuestionsFile> SelectedFile
{
get
{
return selectedFile;
}
set
{
selectedFile = value;
OnPropertyChanged("SelectedFile");
this.QuestionsFile = value.GetValue();
}
}