C#WPF i can';不要进入foreach循环!
我正在使用C#WPF创建一个应用程序: 我已经动态生成了treeview 在那个树视图中,我有一个名为BoekenLijst的C#WPF i can';不要进入foreach循环!,c#,wpf,C#,Wpf,我正在使用C#WPF创建一个应用程序: 我已经动态生成了treeview 在那个树视图中,我有一个名为BoekenLijst的treevieItem 在那里我生成了动态的TreeViewItems,就像“霍比特人”。书的内容,如《霍比特人》,我存储在复选框的内容属性中 因此树视图将如下所示: Treeview> TreeViewItem(BoekenLijst)> 霍比特人 代码完成 我想将选中的treevieItems放入列表框,因此我执行了以下操作: private List<Tre
treevieItem
在那里我生成了动态的TreeViewItem
s,就像“霍比特人”。书的内容,如《霍比特人》,我存储在复选框的内容属性中
因此树视图将如下所示:
Treeview>
TreeViewItem(BoekenLijst)>
霍比特人
代码完成
我想将选中的treevieItem
s放入列表框
,因此我执行了以下操作:
private List<TreeViewItem> GetAllItemContainers(TreeViewItem itemsControl)
{
List<TreeViewItem> allItems = new List<TreeViewItem>();
for (int i = 0; i < itemsControl.Items.Count; i++)
{
// try to get the item Container
TreeViewItem childItemContainer = itemsControl.ItemContainerGenerator.ContainerFromIndex(i) as TreeViewItem;
// the item container maybe null if it is still not generated from the runtime
if (childItemContainer != null)
{
allItems.Add(childItemContainer);
List<TreeViewItem> childItems = GetAllItemContainers(childItemContainer);
foreach (TreeViewItem childItem in childItems)
{
CheckBox checkBoxTemp = childItem.Header as CheckBox;
if (checkBoxTemp != null)
optieListBox.Items.Add(checkBoxTemp.Content);
allItems.Add(childItem);
}
}
}
return allItems;
}
私有列表GetAllItemContainers(TreeViewItems控件)
{
列表所有项=新列表();
对于(int i=0;i
问题是,它不会进入:foreach(childItems中的treevieItem childItem)
有人能帮我吗?您是否尝试过通过Visual Studio调试器运行它?如果您在抛出错误的地方插入断点,那么您应该能够获得正在发生的事情的堆栈跟踪,如果它与Eclipse调试器类似(我有一段时间没有使用VS),您应该能够单击代码中的任何变量或将鼠标放在其上,它将在内存中显示该变量的当前值
但我赞同其他人所说的,试着自己想办法,慢慢来,一步一步地解决它。我必须自己学习,但我还是弄错了,因为我总是忘记使用调试器…如果你不相信我,请询问我的团队领导:-)
威尔士男孩是否跳过了循环?因为这意味着childItems
为空。在循环前放置一个断点并检查childItems的内容。@bubye,这是您需要找到自己的bug类型。只有在您尝试跟踪问题并失败后才寻求帮助。然后包括您尝试过的内容的信息。ChildItems Count=0,我尝试过做某些事情,这是我无法解决的问题@Stephen ChungWell,那就这样吧。如果没有子项,它怎么能循环到子项上呢?但是树视图中有项,为什么不将它添加到子项:S