2012-08-14 65 views
1
填充WrapPanel

我需要的是这样的:如何从不同的来源在XAML

<WrapPanel Orientation="Horizontal"> 
    <TextBlock Text="{Binding Path=Person.Name}" Style="style1"/> 
    <TextBlock Text="{Binding Path=Project.Name}" Style="style2" /> 
    foreach item in {Binding Path=Tags} 
    { 
     <TextBlock Text={Binding item.Name} Style="style3" /> 
    } 
</WrapPanel> 

我做它通过代码,但我宁愿它在XAML,因为这是有些共同的基本功能+我想用设计师的样品数据来看它的样式。

我试着用ItemsControl来填充集合,但它总是创建它自己的面板,这显然会打破包装。

我想也可以要求在那里扔另一个集合。

如何做到这一点,而无需编写代码?

回答

3

为什么不使用WrapPanel的项目控件作为ItemsControl.ItemsPanel?对于多个来源,您可以使用CompositeCollection将它们分组以显示在您的itemscontrol中。

+0

我梦想着有这样的事情。我明天要测试它。 – Arek 2012-08-14 16:50:21

+1

它像一个魅力。 'CompositeCollection'很棒,非常感谢! – Arek 2012-08-15 09:13:18