Функция обратного вызова не обновляет интерфейс.Silverlight + Ria Services - PullRequest
0 голосов
/ 04 декабря 2018

Я все еще борюсь с Silverlight и Ria Services, и теперь у меня есть другая проблема.

У меня есть следующий метод в StudentDomainService:

 [Invoke]
    public IEnumerable<Student> GetStudents()
    {
        return _studentRepository.GetStudents();
    }

И у меня есть следующая StudentViewModel:

private StudentDomainContext _studentDomainContext;
private IEnumerable<Student> _students;

public StudentViewModel()
    {
        _studentDomainContext = new StudentDomainContext();
        _studentDomainContext.GetStudents(new Action<InvokeOperation<IEnumerable<Student>>>(GetStudentsCompleted), null);
    }
private void GetStudentsCompleted(InvokeOperation<IEnumerable<Student>> args)
    {
        _students = args.Value;

    }

    public IEnumerable<Student> Students
    {
        get
        {
            return _students;
        }
        set
        {
            _students = value;
            RaisePropertyChanged("Students");
        }

Я использую свойство Students в ViewModel для привязки к сетке данных в моем StudentView следующим образом:

 ItemsSource="{Binding Students}"

Единственная проблема заключается в том, что при запускеприложение и страница загружена, сетка данных не заполняется.Когда я пытаюсь выполнить отладку, я вижу, что мой метод работает правильно, мой IEnumerable<Student> _students заполняется, но только после загрузки страницы, поэтому при запуске приложения ничего не отображается в моей сетке данных.

Я также попробовал решение в этом посте , но оно у меня не сработало.Я борюсь с этим уже более 2 дней .. Кто-нибудь может объяснить, что я делаю не так?

...