2016-05-17 105 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