当我快速滚动列表时,每个单元格在数据加载前都显示为黑色。如果我缓慢滚动数据,黑色单元格将不会出现。这种行为只发生在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. UICollectionViewController - 有时显示错误单元格,在快速滚动
- 6. 从表格单元格中的url快速显示图像
- 7. 快速单元格内容不显示
- 8. 根据数据显示的动态列中的表格
- 9. 显示元数据导航和过滤器,但不显示快速启动(SP2010)
- 10. 在表格的特定单元格中显示JSON数据
- 11. 不显示列数据的格式表
- 12. 列表显示黑色
- 13. 如何快速显示重量数据
- 14. 如何快速显示大量数据
- 15. 在显示表格之前预先设置django表格数据
- 16. Xamarin CollectionView突出显示不正确的单元格当滚动
- 17. DataGridView不显示单元格数据
- 18. 显示表格数据
- 19. VS2012 - “显示表格数据”
- 20. Rails显示表格数据
- 21. 表格数据显示
- 22. 试图显示数据网格中的数据列表
- 23. 如何在表格视图单元格中显示数据
- 24. 使用Jsoup在TextView中显示单元格表格数据
- 25. 阵列数据表单元格显示其中NcoI和行中的阵列
- 26. 显示表格中的所有数据
- 27. 数据库中未显示的表格
- 28. QlikView - 显示表格中的数据
- 29. 显示表格中的数据
- 30. HTML中的表格数据显示
luccas-clezar是的,这是正确的。这个问题只发生在UWP上。有没有什么可以解决这个问题。 – Renjith
不幸的是,我不这么认为。我尝试了几种提高性能的方法(例如试图删除绑定并对PropertyChanged或BindingContextChanged中的单元格进行更改),但我没有注意到任何性能增加。 –
您好通过自定义ViewCell解决了这个问题。我已经写了customrenderer来解决这个问题。现在没有快速滚动的黑色单元格。我在下面添加了我的答案。 – Renjith