Вопрос заключается в следующем. Создаю приложение на xamarin forms, используя паттерн mvvm. В приложении есть 3 страницы: Главная->Список_работников->Работник. На странице со списком работников есть возможность добавления новых работников. Стартовая страница определена как MainPage = new NavigationPage(new StartPage())
. На StartPage есть кнопка, по клику которой осуществляется переход к списку работников:
async void toEmpList(object sender, EventArgs e)
{
await Navigation.PushAsync(new Page2());
}
Так вот суть проблемы: я перехожу со StartPage на Page2 (список работников), а затем добавляю туда работников. Но после того, как я вернусь на StartPage, а затем повторно зайду на Page2, то список будет пустым. (как я понимаю, из-за того, что при навигации я пересоздаю Page2 в методе PushAsync).
Буду очень благодарен, если кто подскажет, как решить эту проблему.
Вот код EmployeesListViewModal
public class EmployeesListViewModel : INotifyPropertyChanged
{
public ObservableCollection<EmployeeViewModel> Employees { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
public ICommand CreateEmployeeCommand { protected set; get; }
public ICommand DeleteEmployeeCommand { protected set; get; }
public ICommand SaveEmployeeCommand { protected set; get; }
public ICommand BackCommand { protected set; get; }
EmployeeViewModel selectedEmployee;
public INavigation Navigation { get; set; }
public EmployeesListViewModel()
{
Employees = new ObservableCollection<EmployeeViewModel>();
CreateEmployeeCommand = new Command(CreateEmployee);
DeleteEmployeeCommand = new Command(DeleteEmployee);
SaveEmployeeCommand = new Command(SaveEmployee);
BackCommand = new Command(Back);
}
public EmployeeViewModel SelectedEmployee
{
get { return selectedEmployee; }
set
{
if (selectedEmployee != value)
{
EmployeeViewModel tempEmployee = value;
selectedEmployee = null;
OnPropertyChanged("SelectedEmployee");
Navigation.PushAsync(new Page1(tempEmployee));
}
}
}
protected void OnPropertyChanged(string propName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
private void CreateEmployee()
{
Navigation.PushAsync(new Page1(new EmployeeViewModel() { ListViewModel = this }));
}
private void Back()
{
Navigation.PopAsync();
}
private void SaveEmployee(object employeeObject)
{
EmployeeViewModel employee = employeeObject as EmployeeViewModel;
if (employee != null && employee.IsValid)
{
Employees.Add(employee);
}
Back();
}
private void DeleteEmployee(object employeeObject)
{
EmployeeViewModel employee = employeeObject as EmployeeViewModel;
if (employee != null)
{
Employees.Remove(employee);
}
Back();
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
надо сделать ожидание пока элемент прогрузится но выдает ошибку на drManage()
У меня есть массив int [] lvl, который можно менять количество элементов и значения через Inspector в ЮнитиНужно создать второй массив int[] keys, Length которого...
Мне не совсем понятен один момент с ООПЕсли я использую абстрактный класс, и пытаюсь в него подгрузить сторонний класс (не extends), находящийся...