我正在尝试让我的数据在GridLayout中正确显示,这将用作ListBox中某个项目的DataTemplate。这是与我正在执行的操作相关的代码:

<Grid Name="FeedItemTemplate">
    <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
</Grid.RowDefinitions>

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto" />
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>

<Image Source="{Binding ProfileImage}" Grid.RowSpan="2" Height="75" Width="75" VerticalAlignment="Center" Margin="1" />
<TextBlock Text="{Binding UserName}" Grid.Column="1" Foreground="#FFC8AB14" FontSize="28" HorizontalAlignment="Left"/>
<TextBlock Text="{Binding TimeStamp}" Grid.Column="2" TextWrapping="Wrap" FontSize="18" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding Message}" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" TextWrapping="Wrap" FontSize="24" />
</Grid>


问题是使用这种布局时,将TextWrapping设置为Wrap时,可以正确显示Item,但是在ListBox中滚动时,所有内容实际上都是抖动的,您不能以很小的增量滚动,而只是在整个位置上跳跃。

为什么这样做呢?如我所说,只有将TextWrapping设置为Wrap时,它才会这样做。如果不使用它,则滚动效果很好,但是文本沿一行显示并离开屏幕。

最佳答案

如果您将顶级Grid元素的宽度明确设置为固定大小,它是否会继续跳跃?

关于c# - 在Grid内部的TextBox中使用TextWraping,以在WP7中的ListBox中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2654815/

10-11 11:18