2009-07-20 4 views
11

ListBox에는 그 중에서도 매우 긴 수있는 설명 필드가 있습니다. 가로 스크롤 막대를 사용하는 대신 단어로 묶을 수 있습니다. MaxWidth을 설정했지만 ListBox 크기가 변경 되었기 때문에 값을 하드 코딩하지 않으려 고합니다.WPF 목록 상자 항목에 단어 ​​줄 바꿈이 없음

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

편집 : 설명은 TextBlock입니다.

<ListBox 
    Name="lstTasks" 
    BorderThickness="0" 
    Padding="5" 
    HorizontalContentAlignment="Stretch"> 

는 또한 수평 해제 시도 할 수 있습니다 :

  <ListBox BorderThickness="0" Padding="5" Name="lstTasks"> 
      <ListBox.ItemsSource> 
       <Binding Source="{StaticResource dataTasks}"/> 
      </ListBox.ItemsSource> 

      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Grid> 
         <TextBlock Text="{Binding Path=RequestDescription}" TextTrimming="WordEllipsis" TextWrapping="Wrap" Height="60" /> 
        </Grid> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
+0

MaxWidth를 설정한다고해서 MaxWidth가 너비가 변경되는 것으로 바인딩되는 것은 어떨까요? –

답변

29

목록 상자의 너비로 당신의 ListBoxItems의 폭을 강제로 시도해보십시오

간체 XAML은 (제거 unnessesary 물건, 아직 문제를 보여줍니다 스크롤 :

<ListBox 
    ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
    ...> 
+2

감사합니다. 스크롤 막대를 비활성화하면 즉시 수정되었습니다. –

+0

감사합니다 - 장애인도 나를 위해 일했습니다. –

+0

그것이 당신을 위해 일하면, upvote. 스택 코멘트는 이베이 등급이 아닙니다. – Gusdor

0

랩핑 및 트림 사용의 의미는 없습니다. 함께 임밍. 텍스트 줄무늬 또는 텍스트 래핑 중 하나를 사용해야합니다. 그것은 그것이 자르지 않는 다듬기입니다. 매트의 답변을 textwrapping를 들어

또는 최대 너비 속성 값을 정의해야 트리밍에 대한 올바른 것입니다.

SL 개발자와 정확히 동일합니다.