Есть ли способ программно установить атрибут Grow-Flex на одном из его дочерних элементов в Xamarin? - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь создать макеты программно, но не могу понять, как установить атрибут роста Flexlayout для одного из его дочерних элементов

Чтобы уточнить, я хочу применить Grow на одном из Flexlayout. дети программно, поэтому занимает все оставшееся пространство в макете

Вот пример кода Xaml, который я пытаюсь сделать в C #

<StackLayout x:Name="ContainerLayout">
      <FlexLayout Direction="Row">
           <Editor Text="test"
                   FontSize="Large"
                   FlexLayout.Grow="1"/>

      <ImageButton Source="add_btn"
                   HeightRequest="40"
                   WidthRequest="40"
                   IsVisible="True"
                   Clicked="Translation_Clicked"/>
      <ImageButton Source="remove_btn"
                   HeightRequest="40"
                   WidthRequest="40"
                   IsVisible="False"
                   Clicked="Translation_Clicked"/>
       </FlexLayout>
</StackLayout>

Я хочу добавить несколькоэтого Flexlayout во время выполнения

Мой код пока

FlexLayout flexLayout = new FlexLayout();
            flexLayout.Direction = FlexDirection.Row;

            Editor editor = new Editor();
            editor.FontSize = Device.GetNamedSize(NamedSize.Large,typeof(Editor));
    //Want to set Flexlayout.Grow to 1 here ,so the editor takes the left space

ContainerLayout.Children.Add(flexLayout);

1 Ответ

0 голосов
/ 05 ноября 2019

Вы должны использовать его как Grid.RowSpan, очевидно.

FlexLayout.SetGrow(editor, 1);

...