【发布时间】:2011-11-25 11:37:14
【问题描述】:
我有一个关于列表框行为的微妙程序。我的列表框与视图模型中的可观察列表绑定。在列表框中添加项目有两种方法。首先是添加一个项目,然后直接选择该项目。这工作正常。
第二种方式是 LOAD,它的名字将在 lisbox 中添加超过 1 个项目。现在的问题是,当加载的项目超过列表框可以容纳在视图中时,那些不在视图中的项目(因此需要滚动底部的项目才能被查看)不会自动选择...
只有默认查看的项目才会被选中:
private void ItemContainerGenerator_StatusChanged(object sender, EventArgs e)
{
if (listBoxAddresses.ItemContainerGenerator.Status != GeneratorStatus.ContainersGenerated) return;
for (int i = 0; i < TestSetting.DeviceSettings.Count; i++)
{
ListBoxItem myListBoxItem = (ListBoxItem)(listBoxAddresses.ItemContainerGenerator.ContainerFromItem(TestSetting.DeviceSettings[i]));
if (myListBoxItem != null)
{
myListBoxItem.IsSelected = true;
}
}
listBoxAddresses.ItemContainerGenerator.StatusChanged -= ItemContainerGenerator_StatusChanged;
}
我想知道这是否只是列表框的自然行为。
【问题讨论】:
标签: c# wpf listbox listboxitem