Wpf 如何包装并行项控件?
我有两个彼此平行的ItemsControl。第一个是一组具有属性名称的文本块,第二个是一组具有属性值的文本框Wpf 如何包装并行项控件?,wpf,xaml,itemscontrol,Wpf,Xaml,Itemscontrol,我有两个彼此平行的ItemsControl。第一个是一组具有属性名称的文本块,第二个是一组具有属性值的文本框 Property1 Value1 Property2 Value2 Property3 Value3 " " 在某些情况下,这个清单会很长 是否有可能在某一点中断列并“包装”两个ItemsControl,以便它们在同一容器中开始两个与前两个列平行的新列 我对这个问题的理解是,您正在动态创建Propertyn、Valuen TextBlocks
Property1 Value1
Property2 Value2
Property3 Value3
" "
在某些情况下,这个清单会很长
是否有可能在某一点中断列并“包装”两个ItemsControl,以便它们在同一容器中开始两个与前两个列平行的新列 我对这个问题的理解是,您正在动态创建Propertyn、Valuen TextBlocks 在WrapPanel控件中主持整个事件 对于动态创建的每对文本块,创建一个新的网格控件,并将两个文本块放置在此网格控件中,将网格控件放置在WrapPanel控件中
在Pavel的评论之后编辑,我意识到您目前将两个列表作为两个单独的控件。我的解决方案提出了一种完全不同的方法。我很有信心这是不可能做到的。这甚至不是特定于ItemsControl的-您的问题实际上可以归结为,如何使用两个单独的WPF控件,并使它们的子控件以交错方式显示?。它就是不能这样工作——毕竟,ItemsControl仍然是一个UIElement,并且具有定义良好的宽度和高度。在有两个交叉项控件的示例中,每对控件的宽度是多少?每对控件的宽度是多少?他这里总共只有两个ItemControl。@Paul:哎呀,我看错了这个问题。我在想每一对文本块,但你是对的,它们只是两个单独的列表。在研究实现这一点的黑客示例之前,我不确定这是否可能,甚至-为什么需要两个单独的ItemControl?只有一个有两列有什么问题?每个ItemsControl都绑定到不同的ObservableCollection。在ItemsControl中是否可以有一个复合ItemsSource来创建2列?您完全可以推出自己的可观察集合,该集合将来自其他两个集合的项聚合为一对,您的项中始终有1对1的匹配,对吗?。然而,这可能是一个不同的问题。是的,他们总是1:1。我要做的是继续并将属性和值属性合并到一个对象中:myObject。然后,我将设置与ItemsControl Path=myObservableCollection的绑定,然后使用textblock Path=PropertyN和textboxPath=ValueN模板一个水平堆栈面板。我将ItemsPanelTemplate设置为垂直包装,这将完成我需要做的事情。谢谢你的意见。