如何让列表框中的文本右对齐?

时间:2010-06-08 18:06:22

标签: wpf-controls

我的ListBox数据绑定为2个字段。第一个是左对齐,这很好,问题是第二个必须是右对齐。我尝试使用TextAlignment =“Right”和Horizo​​ntalAlignment =“Right”,但没有一个工作。

以下是示例代码:

<ListBox x:Name="_listBox"> 
 <ListBox.DataTemplate>
       <DataTemplate>
           <StackPanel Orientation="Horizontal" Margin="0,4,8,0">
                 <TextBlock Text="{Binding Path=ContainerNumber}" />
                 <TextBlock TextAlignment="Right" Text="{Binding Path=Content}"/>
           </StackPanel>
        </DataTemplate>
 </ListBox.DataTemplate>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

添加到StackPanel标记:

<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" Margin="0,4,8,0">

这个问题是StackPanel没有使用所有可用宽度,因为它默认是水平左对齐。

编辑:或者你需要设置ListBoxItems样式:

<ListBox.Resources>
    <Style x:Key="{x:Type ListBoxItem}" TargetType="{x:Type ListBoxItem}">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="HorizontalAlignment" Value="Stretch"/>
    </Style>
</ListBox.Resources>

希望这有帮助。