Xamarin.Forms展开Entry字段以填充ListView行

时间:2018-08-10 19:57:00

标签: listview xamarin.forms

我试图获取一个Entry字段来填充Xamarin.Forms上的ListView行,但是我尝试的所有操作都只留下了占位符长度的Entry字段。

我已经尝试在层次结构的几乎每个部分上使用“开始并扩展”的“水平选项”,但它仍然保持占位符所需的最短长度。

如果我不将其放置在ListView中,而是将其放置在常规StackLayout中,则它可以毫无问题地填充。

以下XAML旨在在左侧显示一个Icon,然后在右侧显示文本输入字段,并填充到该行的末尾。

我想念什么?

 <ContentPage.Content>
            <ListView IsGroupingEnabled="True" GroupDisplayBinding="{Binding Title}" SeparatorVisibility="None" HasUnevenRows="True" Margin="10,5,10,0"  >
                <ListView.ItemTemplate>
                    <DataTemplate >
                    <ViewCell >
                        <StackLayout Orientation="Horizontal" Padding="5" HorizontalOptions="StartAndExpand">
                            <Image Source="{Binding ImageURL}" HeightRequest="30" WidthRequest="30"/>
                            <Entry Text="{Binding Input}" Placeholder="{Binding Name}" HorizontalOptions="StartAndExpand"/>
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
</ContentPage.Content>

1 个答案:

答案 0 :(得分:1)

我没有测试,但是您可以尝试在HorizontalOptions=FillAndExpand中设置ListView, StackLayout and Entry

<ContentPage.Content> <ListView IsGroupingEnabled="True" GroupDisplayBinding="{Binding Title}" SeparatorVisibility="None" HasUnevenRows="True" Margin="10,5,10,0" HorizontalOptions="FillAndExpand"> <ListView.ItemTemplate> <DataTemplate > <ViewCell > <StackLayout Orientation="Horizontal" Padding="5" HorizontalOptions="FillAndExpand"> <Image Source="{Binding ImageURL}" HeightRequest="30" WidthRequest="30"/> <Entry Text="{Binding Input}" Placeholder="{Binding Name}" HorizontalOptions="FillAndExpand"/> </StackLayout> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </ContentPage.Content>