Ах да, так что я думаю, что это так же просто, как это выглядело. Вам просто нужно ограничить ширину вашего текста и вызвать TextWrapping
, для чего у вас есть несколько вариантов. Вот пара возможностей...
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding imgurl}" MaxHeight="120" MaxWidth="120" Margin="0,10,0,0" />
<TextBlock Text="{Binding title}" Margin="50,0,12,0" TextWrapping="Wrap" MaxWidth="{Binding ActualWidth, ElementName=Self}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
Или вы можете сделать это с помощью панели, которая должна быть ограничена ее родителем...
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding imgurl}" MaxHeight="120" MaxWidth="120" />
<TextBlock Grid.Column="1" Text="{Binding title}" TextWrapping="Wrap" Margin="50,0,2,0" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
Или, в зависимости от того, как этот ListBox расположен в качестве дочернего элемента, это может быть даже так же просто, как просто добавить TextWrapping="Wrap"
в TextBlock, а затем установить MaxWidth
в самом ListBox. В любом случае, надеюсь, это поможет... :)
person
Chris W.
schedule
15.01.2013
TextWrapping="Wrap"
в TextBlock? - person Chris W.   schedule 16.01.2013