2015-10-17 45 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)); 
     } 
    } 
相关问题