當我快速滾動列表時,每個單元格在數據加載前都顯示爲黑色。如果我緩慢滾動數據,黑色單元格將不會出現。這種行爲只發生在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