我正在使用Xamarin.Forms聊天应用程序,该应用程序逐字符发送/接收文本,这意味着在Android上,列表视图行上的文本绑定每1-2秒或半秒更新一次(取决于键入速度)。 listview项目更新平稳,但是在iOS上,每个输入的字符都闪烁/跳动,就像频闪灯一样。]
编辑
复制步骤:将Listview的ItemSource绑定到ObservableCollection,后者为在Entry中键入的每个新字符更新。使用带有标签的DataTemplate,该标签显示在Entry字段中键入的文本。在Page.xaml中
<ListView HasUnevenRows="True" ItemsSource="{Binding ObservableCollection}"> <ListView.ItemTemplate> <DataTemplate> <ViewCell> <ViewCell.View> <Grid> <Label Text="{Binding Text}"/> </Grid> </ViewCell.View> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> <Entry Text="{Binding UserText}"/>
在PageViewModel.cs中
/// <summary>
/// Gets or sets the text entered by the user
/// </summary>
public string UserText
{
get
{
return this.userText;
}
set
{
this.SetProperty(ref this.userText, value);
// Display text by updating listview
Device.BeginInvokeOnMainThread(() =>
{
this.ObservableCollection.Add(userText);
});
}
}
我正在使用Xamarin.Forms聊天应用程序,该应用程序逐字符发送/接收文本,这意味着列表视图行上的文本绑定每1-2秒或半秒更新一次(取决于...
我在iOS上创建了ListViewRenderer并设置AnimationsEnabled = false。现在轻弹消失了!