2013-06-04 76 views
0

我正在研究一個連接到windows azure的應用程序。我有一個顯示項目名稱的列表框。與天青工作的連接和我得到有效的結果,但列表框似乎並沒有得到更新(視覺)。它可以工作,如果我添加一個可觀察的集合並將項目添加到該集合與列表框正確連接。MobileServiceCollection數據綁定到列表框

任何想法,爲什麼這不工作?

這是我的代碼:

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; 
    } 

回答

0

綁定您的項目MobileServiceCollection到您的列表框,就像你使用IMobileServiceTable插入/更新/刪除項目,你會綁定一個ObservableColleciton

try 
    { 
     Projects = await projectTable 
      .Where(Project => Project.ID != 0) 
      .ToCollectionAsync(); 

     //Bind Projects to ListBox 
     ListBox.ItemsSource = Projects; 
    } 

另外您必須通過更新集合保持您的MobileServiceCollection同步

 //Add a new project to the database 
     await projectTable.InsertAsync(project); 

     //Update the collection to match the database 
     Projects.Add(project);