Как связать контекст домена с сеткой данных?Риа Услуги + Silverlight - PullRequest
0 голосов
/ 03 декабря 2018

В последние дни я пытался понять концепцию вызываемых методов и контекстов домена, но некоторые вещи мне все еще не так ясны.

В моем StudentDomainService у меня есть этот метод:

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

Возвращает список студентов, которых я хочу привязать к моей сетке данных с помощью модели представления.

В моем StudentViewModel у меня есть:

private StudentDomainContext _studentDomainContext;
private InvokeOperation<IEnumerable<Student>> _students;
public StudentViewModel()
    {
        _studentDomainContext = new StudentDomainContext();
        _students = _studentDomainContext.GetStudents(OnInvokeCompleted, null);
    }

    public void OnInvokeCompleted(InvokeOperation<IEnumerable<Student>> studs)
    {
        if (studs.HasError)
        {
            studs.MarkErrorAsHandled();
        }
        else
        {
            var result = studs.Value;
        }
    }

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

    } 

И в StudentView у меня естьdatagrid и я пытаемся привязать свойство учеников следующим образом:

ItemsSource="{Binding Students}"

Но когда я запускаю приложение, появляется сетка данных, но она ничего не отображает.Может кто-нибудь сказать мне, что я делаю не так?

ОБНОВЛЕНИЕ Я думаю, что проблема в том, что метод OnInvokeCompleted () не выполняется в пользовательском интерфейсе, но я не совсем уверен,

...