【问题标题】:Wpf data grid not showing items when window is opened for the first time第一次打开窗口时,Wpf数据网格不显示项目
【发布时间】:2015-10-17 18:14:57
【问题描述】:

在我的 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 分钟。任何人都知道如何解决这个问题。

【问题讨论】:

    标签: c# wpf wpfdatagrid


    【解决方案1】:

    向可观察集合的设置器添加了onPropertyChanged 调用,一切都按预期工作

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多