我需要儘可能多的控件以適應「列表框的一行」。目標不是浪費表格上的空間。列表框將是表格的70%高度(30%是一個色帶)和100%的寬度。ListBox項目中的多個控件
我使用自定義ItemTempleSelector,這樣就會在列表中的控制將是A的組合:
標籤+文本框,標籤+組合框,標籤+的DateTimePicker
當然這些出現一個下另一個,但我需要他們從左到右顯示。 非常感謝。
我需要儘可能多的控件以適應「列表框的一行」。目標不是浪費表格上的空間。列表框將是表格的70%高度(30%是一個色帶)和100%的寬度。ListBox項目中的多個控件
我使用自定義ItemTempleSelector,這樣就會在列表中的控制將是A的組合:
標籤+文本框,標籤+組合框,標籤+的DateTimePicker
當然這些出現一個下另一個,但我需要他們從左到右顯示。 非常感謝。
您需要做的是修改ListBox
的ItemsPanel
以包含WrapPanel
。這樣你的項目將顯示從左到右,然後包裝到下一行(我認爲這就是你想要的)。您還需要禁用列表框上的水平滾動條。
<ListBox ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
...your other stuff like the ItemTemplate
</ListBox>
另外要考慮的是,你使用ListBox
,因爲你希望他們能夠選擇每個項目? 如果不是,ItemsControl
將是一對一替換,重量更輕,不支持選擇項目。
也許我不明白這個問題,但爲什麼你不把所有的控件放到Wrappanel中,那是你在數據模板中的根控制。
這不是最容易解釋的情況。該列表將有一個項目源,這將是我的自定義對象的列表
工作過。非常感謝! – MaxWillmo