【问题标题】:Xamarin.Forms Flexlayout Control with inside ContentView errorXamarin.Forms Flexlayout 控件与内部 ContentView 错误
【发布时间】:2019-08-12 11:04:02
【问题描述】:

我想在屏幕上居中一些控件,我使用 FlexLayout 控件作为页面上的主容器,我设置了以下道具 Direction="Column" AlignItems="Center" JustifyContent="Center"并且在添加另一个文件(ContentView)上的控件之前一切正常 ***页面

<ContentPage.Content>
<FlexLayout Direction="Column" AlignItems="Center" JustifyContent="Center">
    <Button Text="Try It Out" Command="{Binding VibrateCommand}"></Button>
    <StackLayout>
        <controls:ErrorsList BindingContext="{Binding ErrorMessages}"></controls:ErrorsList>
    </StackLayout>
</FlexLayout>

***ContentView(控件:ErrorList)

<ContentView>
<ContentView.Content>
    <StackLayout>
        <ListView>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <Label Text="..."  />
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </StackLayout>
</ContentView.Content>

***结果:Result

【问题讨论】:

  • 你想要什么效果?

标签: c# xaml xamarin.forms


【解决方案1】:

如果你想让ButtonListView都在中心。您可以将 Grid 与两行一起使用。

<Grid >

  <Grid.RowDefinitions>
     <RowDefinition Height="*" />
     <RowDefinition Height="*" />
  </Grid.RowDefinitions>

  <Grid.ColumnDefinitions>

  </Grid.ColumnDefinitions>


  <StackLayout Grid.Row="0" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand">
     <Button Text="Try It Out" HeightRequest="40" ></Button>
  </StackLayout>

  <StackLayout Grid.Row="1">
     <controls:ErrorsList BindingContext="{Binding ErrorMessages}"></controls:ErrorsList>
  </StackLayout>
</Grid>

【讨论】:

    猜你喜欢
    • 2016-08-26
    • 2022-01-28
    • 2020-09-24
    • 2019-09-30
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    相关资源
    最近更新 更多