基本上,我在XAML中设置了一个列表视图,如下所示:
<ListView Margin="0" Name="OpenItemsListView"
ItemTemplate="{StaticResource DataItemListItemTemplate}"
ItemsSource="{Binding Path=OpenItems, Mode=OneWay}"
Loaded="OpenItemsListView_Loaded"/>
OpenItemsListView_Loaded
看起来像这样:
private void OpenItemsListView_Loaded(object sender, RoutedEventArgs e) {
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(((ListView)sender).ItemsSource);
view.GroupDescriptions.Add(new PropertyGroupDescription(nameof(DataItem.ItemTypeGroup)));
}
我的问题是:我在该方法的第一行得到一个空引用异常,因为
sender.ItemsSource
为null,即使我将其绑定到窗口的
OpenItems
属性。我还检查了以确保在调用事件处理程序时该属性当前未设置为null。
因此,我的问题是,如何确保在列表视图全部设置并附加到其ItemsSource后调用我的事件?我需要处理其他事件吗?或者我需要做一些真正黑客和丑陋的事情,比如启动一个线程,在后台不断检查属性,等待它不为null,然后设置组,然后退出?或者我应该使用一个完全不同的简单而漂亮的解决方案?
提前谢谢。