我有 2 个相互平行的 ItemsControl。第一个是一组带有属性名称的文本块,第二个是一组TextBoxes
带有属性值的文本块。
Property1 Value1
Property2 Value2
Property3 Value3
" "
在某些情况下,这个列表很长。
有没有办法可能在某个点打破列并“包装”这两个ItemsControls
列,以便它们在同一个容器中开始 2 个新列(与前 2 个平行)?
我有 2 个相互平行的 ItemsControl。第一个是一组带有属性名称的文本块,第二个是一组TextBoxes
带有属性值的文本块。
Property1 Value1
Property2 Value2
Property3 Value3
" "
在某些情况下,这个列表很长。
有没有办法可能在某个点打破列并“包装”这两个ItemsControls
列,以便它们在同一个容器中开始 2 个新列(与前 2 个平行)?
我对这个问题的理解是,您正在动态创建 Property n、 Value n TextBlocks。
将整个内容托管在WrapPanel控件中。
对于您动态创建的每一对 TextBlock,创建一个新的Grid控件,并将两个 TextBlock 放置在此Grid控件中,并将Grid控件放置在WrapPanel控件中。
编辑在 Pavel 的评论之后,我意识到您目前将这两个列表作为两个单独的控件。我的解决方案提出了一种完全不同的方法。
我非常有信心这是不可能做到的。这甚至不是ItemsControl
特定的-您的问题实际上归结为“我如何采用两个单独的 WPF 控件,并让它们的子项以交错方式显示?”。它只是不能那样工作 - 毕竟, anItemsControl
仍然是 a UIElement
,并且具有明确定义的Width
and Height
。在您的带有两个 interleavesItemsControl
的示例中,每个的宽度是多少?