2012-01-30 3 views
2

목록 상자의 데이터 템플릿을 작업하고 있습니다. 데이터 바인딩 된 필드 중 하나가 긴 설명을 포함하고 텍스트를 단지 목록 상자 항목의 가장자리에 래핑하는 방법을 모르겠습니다. 이목록 상자 데이터 템플릿 텍스트 오버플로

<ListBox x:Name="lstTest" ScrollViewer.HorizontalScrollBarVisibility="Disabled" HorizontalContentAlignment="Stretch"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <StackPanel Orientation="Vertical"> 
        <Label Content="{Binding Path=Name}"></Label> 
        <TextBlock TextWrapping="Wrap" Text="{Binding Path=Description}"></TextBlock> 
       </StackPanel> 
       <DockPanel LastChildFill="True"> 
        <Label Content="{Binding Path=AuctionDate}"></Label> 
       </DockPanel> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

샘플 항목 ...

new AuctionItem 
{ 
    RecordId = 1, 
    Name = "Auction G", 
    Description = "Morbi eu nisl sed magna vestibulum ultrices quis eu enim. Nunc semper libero at tellus tincidunt eu elementum turpis rhoncus. Mauris condimentum semper pulvinar. Integer vel ante ipsum, at pulvinar sapien. Donec vestibulum ultricies dui sed viverra. Sed a augue diam, et mollis libero. Phasellus eget rutrum nibh.", 
    AuctionDate = DateTime.Now 
} 

내가 해달라고하는 것은 내가 달성하기 위해 노력하고있는 무슨이도 정확한 구조는 ... 내 XAML 코드? 날짜가 항목의 오른쪽에오고 싶습니다. 이름이 왼쪽 상단에 있고 이름을 뒤따라 내고 싶습니다. 설명을 원합니다. 설명을 고정 크기로 만들 수 있지만 목록 상자의 항목을 목록 상자의 크기를 올바르게 조정하고 싶습니다. 난 당신이 함께 제공 할 수있는 모든 도움을 주셔서 감사합니다 것

...

당신을 감사합니다!

답변

2

StackPanel에 문제가 있습니다.

제거한 다음 그리드로 교체하십시오. 나 자신도 슬픔의 근원이되었습니다.

나는 상황을 모방 이와 같은 일을했고, 나를 위해 작동합니다

answer를 참조하십시오. 그리고이 answer도 마찬가지입니다.

행운을 빈다.

1

이미 TextWrapping 세트가 있으므로 왼쪽에있는 모든 것이 MaxWidth이므로 빠른 설정입니다.

MaxWidth="Numeric Value" should do it or a MaxWidth="{Binding YourTextBoxBlockName, Path=ActualWidth}" 

당신이 그것을 좋아하고 황금이어야합니다. 희망이 도움이 행운을 빕니다!

+0

ListBox를 사용하여 크기를 조정하려면 TextBlock이 필요합니다 ... MaxWidth를 설정하면 양식이 최대화되어 내용이 너무 좁아집니다. 나는 이것을 시도했지만 작동하지 않는다 MaxWidth = {바인딩 너비, ElementName = lstTest} ... – Lukasz

+0

MaxWidth = "{바인딩 ElementName = IstTest, 경로 = ActualWidth}"어때? –

+0

그런 종류의 작동은 TextBlock을 목록 상자의 너비로 만들지 만 AuctionDate 필드를 푸시하여 더 이상 보이지 않게합니다. 또한 창을 최대화 할 때 올바르게 작동하지만 스크롤을 시도 할 때까지 창을 축소하면 항목의 크기가 조정되지 않습니다. 해결 방법이 아닌 해결책이 될 것 같습니다 ...하지만 도움을 주셔서 감사합니다! – Lukasz

관련 문제