Xamarin表单中的内容对齐不起作用?

时间:2014-11-14 09:58:20

标签: xamarin.forms

我在Xamarin Forms中有一个简单的自定义磁贴控件,我无法让内部对齐工作,就像我在MS Xaml中所期望的那样。 (关于Xamarin.iOS(适用于iPad!))

    <ContentView.Content>

    <Grid x:Name="LayoutGrid" BindingContext="{x:Reference tile}" BackgroundColor="{Binding Color}">
        <Grid.GestureRecognizers>
            <TapGestureRecognizer Tapped="ExecuteCommandOnTapped" />
        </Grid.GestureRecognizers>

        <StackLayout HorizontalOptions="Start" VerticalOptions="End" BackgroundColor="Aqua" Orientation="Vertical">
            <Label x:Name="AdditionalDescription" Text="{Binding AdditionalText}"   TextColor="{x:Static local:AppColors.AppBackground}" VerticalOptions="End" HorizontalOptions="Start" XAlign="End" YAlign="End" Font="32" /> 
            <Label x:Name="Description"           Text="{Binding Text}"             TextColor="{x:Static local:AppColors.AppBackground}" VerticalOptions="End" HorizontalOptions="Start" XAlign="End" YAlign="End" Font="Bold, 32" />   
        </StackLayout>
    </Grid> 

</ContentView.Content>

是否有任何技巧可以将Inner Stacklayout与底部对齐? 当我使用控件时,控件具有预期的大小(填充整个可用空间),但内部堆栈布局与顶部对齐。 :(

1 个答案:

答案 0 :(得分:0)

我遇到类似StackLayout的问题,不得不切换到Grid。使用Grid,我能够利用行/列属性来正确定位我的子控件。

----------------------------------------------- - - - - - - - 编辑 - - - - - - - - - - - - - - - - - - -------------------------- 刚才我发现对齐确实有效但是如果布局在网格中,那么它的效果在网格的特定单元格内,而不是整个网格。

在您的示例中 - 也许您必须为网格提供正确的rowdefinition和columndefintion,并将stacklayout放在特定的网格单元格中。 stacklayout内容的对齐仅在此单元格内。

好读 - http://blog.tpcware.com/2014/09/xamarin-xaml-vs-microsoft-xaml-the-devil-is-in-the-details/。您可以运行博客中给出的示例,并查看对齐属性是否正常工作。