Я хочу максимально использовать пространство.
В моем понимании вы используете максимально доступное пространство.
Я не предпочитаю использовать Wrap Layout.
Никогда не слышал о макете переноса в формах xamarin, но здесь, если вы имеете в виду, что вы не хотите использовать LineBreakMode, то это единственный возможный способ для достижения ваших требований.
Данные могут быть любой длины, и я не могу определить их минимальную или максимальную длину.
Это не имеет большого значения, проблема не в гибкой компоновке, а в метке, устанавливающей свойство LineBreakMode для меток.
Где бы вы ни чувствовали, что текст будет слишком длинным, добавьте что-то вроде этого:
<Label ..... LineBreakMode="WordWrap"/>
Данные являются динамическими, которые будут связаны во время выполнения, здесь для простоты используются статические данные.
Это ничего не меняет, пока ваш XAML не будет хорошо написан, он не будет вести себя странно
Если вы хотите, чтобы в каждом ряду была одинаковая ширина, высота должна меняться в соответствии с требованиями к данным.
В этом случае я бы посоветовал вам обернуть StackLayout
внутри Grid
, а не FlexLayout
, а затем задать для RowDefinitions значение Auto, чтобы они подходили друг другу в соответствии с необходимостью.