列表框项目中的多个控件

时间:2011-11-10 14:29:58

标签: wpf mvvm wpf-controls

我需要能够拥有尽可能多的控件以适应“列表框的一行”。目标不是浪费表格上的空间。列表框将是表格的70%高度(30%为彩带)和100%宽度。

我使用自定义ItemTempleSelector,因此列表中的控件将是以下组合:

标签+文本框,标签+组合框,标签+日期时间贴纸

当然这些出现在另一个之下,但我需要它们从左到右出现。 非常感谢。

2 个答案:

答案 0 :(得分:4)

您需要做的是修改ListBox的{​​{1}}以包含ItemsPanel。这样你的项目将从左到右显示,然后回到下一行(我认为这就是你想要的)。您还需要禁用列表框中的水平滚动条。

WrapPanel

要考虑的另一件事是您使用 <ListBox ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <ListBox.ItemsPanel> <ItemsPanelTemplate> <WrapPanel /> </ItemsPanelTemplate> </ListBox.ItemsPanel> ...your other stuff like the ItemTemplate </ListBox> ,因为您希望他们能够选择每个项目吗? 如果没有,ListBox将是一对一替换,重量较轻,不支持选择项目。

答案 1 :(得分:0)

也许我不明白这个问题,但为什么不把你的所有控件都放到Wrappanel中,这就是你在datatemplate中的根控制。