首页 文章

Xamarin表单 - 从C#中的StackLayout中删除子元素

提问于
浏览
1

在XAML页面的代码隐藏中,我正在检查我的模型中的文本字段是否为空,如果不是我用该字段更新标签文本属性,如果它是null我想要从XAML中完全删除它 .

起初我试图将IsVisible设置为false并将HeightRequest设置为0,但我仍然可以在stackLayout中看到标签所在的空间,所以我尝试从主堆栈中删除包含标签的内部堆栈

TopStack.Children.Remove(addressStack);

但是我仍然可以看到被移除的堆栈所在的空间 .

我有办法彻底删除内部堆栈,包括它将占用的空间?

1 回答

  • 3

    您可以使用 theStack.Children.Remove(textField); 从堆栈中删除元素 .

    如果您知道元素在堆栈中的位置,则可以使用remove at

    theStack.Children.RemoveAt(positionInStack);
    

    如果要删除内部堆栈(外部堆栈的子堆栈和文本字段的父级),请使用

    outerStack.Children.Remove(textField.parent);
    

    希望这些信息对您有所帮助!

相关问题