2010-06-08 1 views
1

내 ListBox는 2 개의 필드에 데이터 바인딩됩니다. 첫 번째는 잘 정렬 된 왼쪽 정렬이며, 문제는 오른쪽 정렬해야하는 두 번째 문제입니다. TextAlignment = "Right"및 HorizontalAlignment = "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

답장을 보내 주셔서 감사합니다. HorizontalAlignment = "Stretch"는 작동하지 않았으며 실제로 기본값은 가로 및 세로 정렬 모두에 적용됩니다. http://msdn.microsoft.com/en-us/library/system.windows.controls.stackpanel.aspx – user296623

+0

내 실수 만 남은 제안은 위의 스타일을 시도하는 것입니다. – Goblin

+1

그것은 작동했습니다. 감사. 지금 볼 수있는 유일한 버그는 스타일을 삽입 할 때 기본 번갈아 사용하는 배경 (목록 상자에서 번갈아 가며 나타나는 요소의 밝은 회색)이 작동하지 않는다는 것입니다. 한편 HorizontalContentAlignment = "Stretch"를 설정하면 목록 상자에서 작업이 수행됩니다. 정말 고마워요. – user296623