如何从Xamarin.Forms中的AbsoluteLayout中删除子项?

kao*_*ick 5 children removechild absolutelayout xamarin.forms

在我的应用程序中,我使用了Xamarin.Forms AbsoluteLayout.我有一个自定义菜单栏.当我点击菜单按钮时,我的主要内容(a View)AbsoluteLayout应该被替换.

到目前为止,我只能通过添加一个新子项并使用Children.Add()和设置其布局边界来实现SetLayBounds().但是这样我就会添加越来越多的孩子而且永远不会删除它们.

从一个孩子中删除孩子的正确方法是AbsoluteLayout什么?

Ste*_*oix 10

.Children工具IList<View>(和ICollection<View>,IEnumerable<View>,Ienumerable),这样你就可以在你最好的方便使用:

  • layout.Children.RemoveAt (position),
  • layout.Children.Remove (view),
  • layout.Children.Clear ()

为您提供视图的索引.Children,您也可以替换元素:

layout.Children[position] = new MyView ();
Run Code Online (Sandbox Code Playgroud)

但是这比你提供的选项少,Children.Add (...)而且你必须使用SetLayoutBoundsSetLayoutFlags.