我正在尝试让我的数据在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/