MobileServiceCollection数据绑定到列表框

本文关键字:列表 数据绑定 MobileServiceCollection | 更新日期: 2023-09-27 18:16:53

我正在开发一个连接到windows azure的应用程序。我有一个列表框,将显示项目名称。与azure工程的连接,我得到有效的结果,但列表框似乎没有得到更新(视觉上)。它的工作,如果我添加一个可观察集合,并添加项目到这个集合与列表框正确连接。

知道为什么这不起作用吗?

这是我的代码:

    public MobileServiceCollection<Project, Project> Projects { get; private set; }
    private IMobileServiceTable<Project> projectTable = App.MobileService.GetTable<Project>();        
    public async void LoadData()
    {
        try
        {
            Projects = await projectTable
                .Where(Project => Project.ID != 0)
                .ToCollectionAsync();
        }
        catch (MobileServiceInvalidOperationException e)
        {
            MessageBox.Show(e.Message, "Error loading projects", MessageBoxButton.OK);
        }
        this.IsDataLoaded = true;
    }

MobileServiceCollection数据绑定到列表框

将Projects MobileServiceCollection绑定到Listbox,就像绑定ObservableColleciton一样

try
    {
        Projects = await projectTable
            .Where(Project => Project.ID != 0)
            .ToCollectionAsync();
        //Bind Projects to ListBox
        ListBox.ItemsSource = Projects;
    }

另外,当你使用IMobileServiceTable插入/更新/删除项目时,你必须通过更新集合来保持MobileServiceCollection同步

        //Add a new project to the database
        await projectTable.InsertAsync(project);
        //Update the collection to match the database
        Projects.Add(project);