Xamarin Forms - удаление дочернего элемента из StackLayout в C # - PullRequest
0 голосов
/ 04 мая 2018

В коде позади XAML-страницы я проверяю, является ли текстовое поле моей модели пустым, если нет, я обновляю текстовое свойство меток этим полем, если оно нулевое, я хочу полностью удалить его из XAML.

Сначала я попытался установить для IsVisible значение false, а для HeightRequest - 0, но я все еще мог видеть пространство в stackLayout, где была бы метка, поэтому я попытался удалить внутренний стек, содержащий метку, из основного стека.

TopStack.Children.Remove(addressStack);

Но снова я все еще вижу место, где был бы удаленный стек.

Есть ли способ полностью удалить внутренний стек, включая пространство, которое бы он занимал?

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете использовать theStack.Children.Remove(textField); для удаления элемента из стека.

Если вы знаете положение элемента в стеке, вы можете использовать команду remove в

  theStack.Children.RemoveAt(positionInStack);

Если вы хотите удалить внутренний стек, который является дочерним по отношению к внешнему стеку и родительским по отношению к текстовому полю, используйте

outerStack.Children.Remove(textField.parent);

Надеюсь, эта информация поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...