2016-05-17 79 views
0

我有列表框,它將顯示文本列表及其狀態。我應該如何顯示左側的文字和最右側的狀態控制? 這就是我想要的。列表框項目模板佈局

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <DockPanel> 
      <TextBlock DockPanel.Dock="Left" Text="{Binding Path=Name}" Style="{StaticResource TextBlockTitle}"/> 
      <ContentControl DockPanel.Dock="Right" HorizontalAlignment="Right" Content="{Binding Status}" ContentTemplate="{StaticResource StatusTemplate}" />        
     </DockPanel>      
    </DataTemplate> 

該代碼只顯示文本後的狀態控制。

回答

2

會使用Grid有兩列:

  1. *大小
  2. Auto大小(或設置SharedSizeGroup如果希望項目之間的同步)

第一列會佔用所有剩下的空間。對於大小分享,您還需要在例如Grid.IsSharedSizeScope上設置。 ListBox元素。

該項目還need to be stretched

+0

應用該解決方案,但它仍然是相同的列表框項目。列表框中的項目是否有任何原因?因爲我可以看到樹視圖項正確對齊 – Peekay

+0

對,在'ListBox'上將'Horizo​​ntalContentAlignment'設置爲'Stretch'。 –

+0

太棒了。完美地工作 – Peekay