使用以下代码在ListView中显示一些推文。 我在位置index = 0处插入每条推文,以显示listView(x:name = standardTweetBox)底部的最新推文。
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{[...]
if (searchResponse != null && searchResponse.Statuses != null)
{
foreach (Status status in searchResponse.Statuses)
{
Tweet tweet = new Tweet(status.User.ScreenNameResponse, status.User.ProfileImageUrl, status.Text, status.CreatedAt.ToString());
standardTweetBox.Items.Insert(0, tweet);
}
}
通常,以下代码应该集中在listView底部的最新推文
standardTweetBox.ScrollIntoView(standardTweetBox.Items[standardTweetBox.Items.Count - 1]);
我成功地在代码的不同部分实现了这行代码。当然使用事件TextBox_Change没有任何意义,但它证明代码工作。
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
standardTweetBox.ScrollIntoView(standardTweetBox.Items[standardTweetBox.Items.Count-1]);
}
这行代码是否可能只是在异步函数中正常工作?
如果需要,这是我的XAML代码:
<ListView Grid.Row="1"
x:Name = "standardTweetBox"
ItemTemplate="{StaticResource TweetBox}"
HorizontalAlignment="Center"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VerticalAlignment="Bottom"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
<!--</ScrollViewer>-->
<TextBox Grid.Row="2" Height="150" Width="380" Text="{Binding Title}" Background="#99FFFFFF" TextChanged="TextBox_TextChanged"/>
如果您需要任何进一步的信息,请与我们联系。
干杯