2010-06-08 59 views
1

我的列表框是數據綁定到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> 

任何想法?

回答

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> 

希望這有助於。

+0

感謝您的回覆。 Horizo​​ntalAlignment =「Stretch」不起作用,實際上默認值是水平和垂直對齊的拉伸。 http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx – user296623 2010-06-09 14:26:51

+0

我的錯誤 - 唯一的建議剩下的就是嘗試上述風格。 – Goblin 2010-06-09 19:36:24

+1

它確實有效。謝謝。我現在看到的唯一的錯誤是默認的交替背景(對於列表框中的交替元素,淺灰色)在插入樣式時不起作用。 同時我認爲在列表框上設置Horizo​​ntalContentAlignment =「Stretch」做了這項工作。 非常感謝。 – user296623 2010-06-10 21:50:33