我正在创建一个自定义的 DataTemplate,它在它的父 ListView 中触发一个事件。这是一个触发器:

public void OnItemActivated()
{
    ParentView.OnItemActivated(this);
}

'Element.ParentView' 已过时:'ParentView 自 2.1.0 版起已过时。请改用父级。 - Xamarin 说

c# - Xamarin - ParentView 的替代品,现已过时-LMLPHP

在上图中,您可以看到 ParentParentView 是不同的,而 ParentView 返回我需要的 object。我会尝试使用在这种情况下有效的 Parent.Parent ......这会一直有效吗?那个层次结构总是一样的吗?

所以我需要最好的方法来获得拥有“事件”listviewitem
也许有人可以建议我 listview 应该听他的 children 还是应该等待他们与他交谈

最佳答案

我终于明白为什么 ParentView 已经过时了。 Xamarin 页面“文档结构”不仅由 View 制作,而且由 元素 制作。

由于 View 的父 View 可能不是 View ,因此 ParentView 变得无用。

我的解决方案

我使用 (this.Parent as Xamarin.Forms.View) 来获取我的 ParentView ,我的 Parent 作为 View :)

注意

正如我所说 Parent 是一个 Element 有时是 View 。所以当 Parent 不是 View 时,我的解决方案会崩溃(为什么 ParentView 已过时)

关于c# - Xamarin - ParentView 的替代品,现已过时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47757350/

10-09 12:47