2

我在 windows phone 8 中使用longlistselector(更具体地说是)有一点问题。multilonglistselector

我使用绑定将对象的名称绑定到项目,XAML 代码如下:

<Grid>
<TextBox  x:Name="searchBox" 
IsEnabled="{Binding IsConnected}" 
HorizontalAlignment="Left" KeyUp="CheckKey" 
Height="72" Margin="10,10,0,0" TextWrapping="Wrap" InputScope="Search" GotFocus="Select"/>
<toolkit:LongListMultiSelector EnforceIsSelectionEnabled="True" SelectionChanged="AdjustAddSelectionButton" x:Name="resultList"  ItemsSource="{Binding Results}" HorizontalAlignment="Stretch" Height="434" Margin="10,87,0,0" VerticalAlignment="Top" >
<toolkit:LongListMultiSelector.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Title}"  TextWrapping="Wrap">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener DoubleTap="OpenArticleDetail" />
</toolkit:GestureService.GestureListener>
</TextBlock>
</Grid>
</DataTemplate>
</toolkit:LongListMultiSelector.ItemTemplate>
</toolkit:LongListMultiSelector>
</Grid>

绑定完美地进行,但文本有时太长并且不适合屏幕。我将如何将此文本包装到另一行?,我这里截图

4

2 回答 2

0

您并没有真正说明您想要回答的任何具体问题或问题。请尽量在未来更清楚一点。

如果您不喜欢 TextBlock 会切断它无法容纳的单词,那么您有几种解决方案。

  1. TextBlocks 有一个 TextWrapping 属性,这样做TextWrapping="Wrap"将使 TextBlock 能够调整自身大小以显示所有内容。

  2. TextBlocks 具有 TextTrimming 属性,因此书写TextTrimming="WordEllipsis"将用省略号替换任何截断的单词。

  3. 如果您想保留一行但同时显示所有内容,您可以将 TextBlock 放在一个 Horizo​​ntal ScrollViewer 中,这将让用户左右滚动文本。不是很好,但一个不错的解决方案

代码为 3。

<ScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Visible">
    <TextBlock Text="Text"/>
</ScrollViewer>
于 2013-10-04T01:09:44.187 回答
0

我在我的主要 TextBlock 中添加了一个巨大的右填充来解决这个问题。

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="MyTemplate">
        <StackPanel VerticalAlignment="Top" Margin="0,-4,-50,0">
            <TextBlock FontWeight="Bold" FontSize="18" Text="{Binding title}" TextWrapping="Wrap" Margin="0,0,0,6"/>
            <TextBlock Text="{Binding text}" TextWrapping="Wrap" FontSize="30" Padding="0,0,125,0"/>
            <Rectangle HorizontalAlignment="Stretch" Height="1" Fill="#78c5a6" Margin="0,18,0,18"/>
        </StackPanel>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>
于 2014-12-09T16:41:52.037 回答