我有一个绑定到 ItemsSource 的 ListBox,如下所示:
var foos = new ObservableCollection<Foo> { foo1, foo2, foo3 };
var listBox = new ListBox { ItemsSource = _foos };
现在我想立即对保存项目的 ListBoxItems 进行一些操作,但它们似乎没有立即创建。他们是吗?是否有一些事件我可以收听以便得到通知,或者我只是试图以无效的方式获取 ListBoxItem?我正在这样做(并已验证它在我知道 ListBox 已“准备好”的地方工作):
var lbi = listBox.ItemContainerGenerator.ContainerFromItem(foo1) as ListBoxItem;
请注意,这是在单元测试中完成的,所以我猜 ListBox 永远不会呈现。这就是没有创建 ListBoxItems 的原因吗?我可以以某种方式手动触发 ListBoxItems 的创建吗?