Высота StackLayout не задана для детей

Я добавил метку внутри StackLayout. Я установил HeightRequest для StackLayout и длинный текст для Label.

Я хочу обрезать превышающий текст на этикетке. Но он отображается вне StackLayout. Как это ограничить.

Я не хочу устанавливать HeightRequest для метки.

<StackLayout Margin="10" HeightRequest="42" BackgroundColor="Yellow">
               <Label  VerticalOptions="Center" Text="A minimum 5 characters password contains a combination of uppercase and lowercase letter and number are required. A minimum 5 characters password contains a combination of uppercase and lowercase letter and number are required."/>

           </StackLayout>

person Muneesh Kumar    schedule 26.03.2021    source источник


Ответы (2)


Чтобы установить высоту метки на основе StackLayout в приведенном выше коде, установите Orientation="Horizontal" для stackLayout.

person Qwerty    schedule 26.03.2021

Размер и положение дочерних представлений в StackLayout зависит от значений свойств HeightRequest и WidthRequest дочерних представлений и значений их свойств HorizontalOptions и VerticalOptions.

В вертикальном StackLayout дочерние представления расширяются, чтобы заполнить доступную ширину, если их размер не установлен явно. Точно так же в горизонтальном StackLayout дочерние представления расширяются, чтобы заполнить доступную высоту, если их размер не установлен явно.

Для получения дополнительной информации вы можете обратиться к документации MS. https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/layouts/stacklayout

person Wendy Zang - MSFT    schedule 26.03.2021