2015-10-17 60 views
0

在我的wpf應用程序中,我有一個數據網格,其項目源綁定到可觀察集合。集合中的項目使用異步任務加載。如果窗口第一次打開,它不會在網格中顯示任何數據,但會顯示空行,如果關閉並重新打開該窗口,則會在網格中顯示數據。任何人都知道它爲什麼會發生。這是我的代碼。當窗口第一次打開時,Wpf數據網格不顯示項目

<DataGrid 
     x:Name="dtg" 
     ItemsSource="{Binding Departments}" 
     AutoGenerateColumns="false" 
     CanUserDeleteRows="False" 
     CanUserReorderColumns="False" 
     RowHeight="35" 
     CanUserResizeColumns="False" 
     CanUserResizeRows="False" 
     CanUserSortColumns="True" 
     Grid.Column="0" 
     Grid.Row="2" 
     Grid.ColumnSpan="5"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Binding="{Binding DepartmentId}" Header="Slno" /> 
      <DataGridTextColumn Binding="{Binding DepartmentName}" Header="Department" /> 
     </DataGrid.Columns> 
    </DataGrid> 

這是加載項觀察集合的代碼,它只是另一種方法

private async void loadData() { 
     Departments = await _dataManager.getDepartmentsAsync(); 
    } 

我一直在試圖修復它超過30分鐘的通話時。任何人都知道如何解決這個問題。

回答

0

增加了一個onPropertyChanged調用觀察集合的setter和一切工作按預期

public ObservableCollection<Department> Departments { 
     get { return _departments; } 
     set { 
      _departments = value; 
      onPropertyChanged(nameof(Departments)); 
     } 
    } 
相關問題