INativeElementView 应该如何实现?

How is INativeElementView supposed to be implemented?

我试图在 Xamarin.Forms xaml 页面中实现 ListViewCachingStrategy=RecycleElement,并且在我尝试滚动之前一切都正确显示。然后我得到一个异常,表明需要实施 INativeElementView。我在每个本机平台的 ui 设计器中设计了视图,并为每个视图都有一个自定义渲染器。如果我使用 RetainElement 而不是 RecycleElement,则不会发生此崩溃。有什么想法或建议吗?

编辑:我在设计器中创建的视图称为 FeeViewCell,如果我理解正确的话,那是应该实现 INativeElementView 的地方(在 FeeViewCell.cs 中)。我现在的问题是,将 returns 转换为 System.InvalidCastException 表示指定的转换无效。这是我的代码实现 INativeElementView:

public Element Element { get { return this.ToView() as Element; } } 我在 Xamarin 论坛上也有这个问题 here.

INativeNativeView 接口需要在自定义单元格 class 上实现。在我的 iOS 示例中,我在自定义渲染器中提供了一个来自 pcl 的项目,在我的例子中是 FeeCell。 这是我的自定义渲染器的一部分

public class FeeCellRenderer : ViewCellRenderer
    {
        public override UIKit.UITableViewCell GetCell(Cell item, UIKit.UITableViewCell reusableCell, UIKit.UITableView tv)
        {
            var x = (FeeCell)item;
            //Do whatever you need to here.
         }
      }

这是我的一部分习惯 ui class:

public partial class FeeViewCell : UITableViewCell, INativeElementView
{
    public static readonly NSString Key = new NSString(nameof(FeeViewCell));
    Element _element;
public Element Element
        {
            get { return _element; }
            set { _element = value; }
        }
}

它也可以做到这一点:

public Element Element
        {
            get { return new FeeCell(); }
        }