当我快速滚动列表时,每个单元格在数据加载前都显示为黑色。如果我缓慢滚动数据,黑色单元格将不会出现。这种行为只发生在Xamarin UWP项目中。请找到下面的图片以供参考。 Xamarin form-UWP - 显示数据之前显示数据的快速滚动列表中的黑色单元格
2
A
回答
2
通过编写自定义ViewCell和使用本地数据模板来解决此问题。现在没有快速滚动的黑色单元格。我张贴我的答案,以便有人可能会觉得它有用。
对于例如:如果你有名称的列表将显示如下:
首先添加自定义viewcell如下
public class CustomViewCell : ViewCell
{
public static readonly BindableProperty NameProperty =
BindableProperty.Create("Name", typeof(string), typeof(CustomViewCell), "");
public string Name
{
get { return (string)GetValue(NameProperty); }
set { SetValue(NameProperty, value); }
}
}
现在添加的ListView的XAML如下:
<ListView
ItemsSource="{Binding Products}">
<ListView.ItemTemplate>
<DataTemplate>
<custom:CustomViewCell Name="{Binding Name}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
然后,您必须在UWP项目的App.xaml中编写DateTemplate样式,如下所示:
<ResourceDictionary>
<DataTemplate x:Key="CustomTemplate">
<Grid Padding="10">
<TextBlock Foreground="#333333" FontSize="14" VerticalAlignment="Center" Text="{Binding Name"/>
</Grid>
</DataTemplate>
</ResourceDictionary>
最后编写一个CustomRenderer来替换我们的ListView中的原生视单元。
public class CustomViewCellRenderer : ViewCellRenderer
{
public override Windows.UI.Xaml.DataTemplate GetTemplate(Cell cell)
{
return App.Current.Resources["CustomTemplate"] as Windows.UI.Xaml.DataTemplate;
}
}
现在列表完美无缺地显示黑色单元格的问题。
0
这不是您的代码问题。滚动速度过快时,系统没有时间按滚动的速度渲染单元格,因此出现黑色单元格。
相关问题
- 1. 当设置值时,UICollectionViewCell快速显示前一个单元格中的数据
- 2. AngularJS视图在显示视图之间切换前的新数据之前快速显示旧数据
- 3. 突出显示数据表中的单元格数据
- 4. 滚动时显示的单元格数据不正确UITableView
- 5. 根据数据显示的动态列中的表格
- 6. 在表格的特定单元格中显示JSON数据
- 7. 列表显示黑色
- 8. 如何快速显示重量数据
- 9. DataGridView不显示单元格数据
- 10. Xamarin CollectionView突出显示不正确的单元格当滚动
- 11. 显示表格数据
- 12. 表格数据显示
- 13. 使用Jsoup在TextView中显示单元格表格数据
- 14. 如何在表格视图单元格中显示数据
- 15. 显示表格中的数据
- 16. HTML中的表格数据显示
- 17. 在动态表格中显示阵列中的数据PHP
- 18. 自定义的UITableViewCell不显示在滚动时满格之前显示的数据
- 19. 显示键盘之前显示空数据的Android listview?
- 20. 滚动到最后一个表格视图单元格显示第一个单元格的数据
- 21. Tableview单元格不显示整数格式的数据
- 22. Xamarin格式:显示并绑定多行和多列的列表/网格数据
- 23. Primefaces数据表按列显示数据
- 24. 显示数据组数据列表
- 25. Android的 - 如何显示列表数据,而无需滚动
- 26. 显示列表中的数据Xamarin.Forms
- 27. ListFragment不显示列表中的数据
- 28. 在表单上显示动态数据
- 29. 如何在tableview单元格显示之前显示占位符?
- 30. 用css显示表格列显示柱状数据
luccas-clezar是的,这是正确的。这个问题只发生在UWP上。有没有什么可以解决这个问题。 – Renjith
不幸的是,我不这么认为。我尝试了几种提高性能的方法(例如试图删除绑定并对PropertyChanged或BindingContextChanged中的单元格进行更改),但我没有注意到任何性能增加。 –
您好通过自定义ViewCell解决了这个问题。我已经写了customrenderer来解决这个问题。现在没有快速滚动的黑色单元格。我在下面添加了我的答案。 – Renjith