我想创建一个视图,其中有多个控件位于StackLayout内部。当我只有一个这样的:Xamarin窗体:在StackLayout中的ListView上布局所需的帮助
<StackLayout Orientation="Vertical" HorizontalOptions="Center" >
<controls:BindablePicker />
</StackLayout>
它工作正常: Centered
然而,当我尝试添加一个ListView,如:
<StackLayout Orientation="Vertical" HorizontalOptions="Center" >
<controls:BindablePicker />
<ListView HorizontalOptions="Center" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Orientation="Horizontal">
<controls:BindablePicker Title="Length" />
<controls:BindablePicker Title="Units" />
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
一切都是左对齐,并采取整个屏幕: Left justified
我想所有控件的宽度为s尽可能集中在屏幕上。现在我正在使用ListView,因为我绑定了一个对象列表,我认为这会比尝试使用Grid更容易。
任何建议将不胜感激。谢谢。
UPDATE我更新了我的ViewCell与网格替换StackLayout,然后把ListView的网格内,如下所示:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListView Grid.Row="0" Grid.Column="1" HorizontalOptions="Center" SeparatorVisibility="None">
这是一个很值得我想要的东西,不同的是顶部选取器正在增加屏幕的整个宽度,而不仅仅是它需要被居中的宽度。
非常感谢您的回复!我会试一试,让我知道如果我不能工作。 –
请参阅上面的更新。我更接近,但仍然缺少一块。 –
谢谢埃德!当你有机会时,让我们将这个问题标记为已回答,并将更新移到StackOverflow的新问题上。这将有助于任何未来的用户提出同样的问题,我非常乐意帮助您使用Grid! –