簡體   English   中英

Xamarin Forms,在運行時在 CarouselView 中動態添加項目,奇怪的行為

[英]Xamarin Forms, Adding items dynamically inside CarouselView on the run, Strange Behaviour

我使用相同的 DataTemplate 來填充我的 CarouselView 中的一些視圖:一個帶有 ContentView 的 XAML 文件。 我將自定義 class 列表分配給 carouselview 的 ItemsSource,並在模板布局字段中使用綁定來用我的自定義 class 的屬性填充它們。一切正常。 奇怪的部分來了:假設模板中有一個按鈕,當您在屏幕上單擊它時,帶有“Well Done”文本的 Label 將添加到顯示的輪播視圖的當前 Stacklayout 中。 這是由我的模板 XAML 的代碼隱藏完成的。這也可以,但我希望這個“做得好”在我來回滑動足夠多之后消失。 因為它不是模板的一部分。 它不會消失,相反,我每 4 次滑動就會在其他轉盤上看到它一次,並且它會被替換,我的意思是如果我來回滑動它會出現在不同的轉盤上。 為了讓它完全消失,我必須從共享相同 DataTemplate 的視圖中滑開。 我無法理解這種行為背后的機制。 我知道,我可以在模板內創建另一個字段,將“做得好”文本放在那里,並在適當的時候顯示它。 但我想了解機制。 謝謝你。

提出關於問題的正確問題是任何解決方案的關鍵。在意識到我在更新評論中提到的之后,我搜索了 DataTemplate Caching 並在 Xamarin.Forms Github: https://github 上找到了這個問題。 com/xamarin/Xamarin.Forms/issues/9200

在那里你可以找到關於 CollectionView 是如何設計的解釋並理解行為背后的機制。 沒有錯誤。 這是設計使然。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM