【问题标题】:Xamarin.Forms - ListView entirely in XAMLXamarin.Forms - 完全在 XAML 中的 ListView
【发布时间】:2014-08-17 20:03:12
【问题描述】:

我们有几个屏幕在 iOS 上应该是 UITableViews,它们有静态的行数和不同类型的单元格。

有没有办法用 Xamarin.Forms 在 XAML 中定义它,而不必设置到 ItemsSource 的绑定?就像我只想定义两个EntryCells,然后定义一个TextCell?

我的第一次尝试是这个例子,但我只在每一行中看到了 Cell.ToString() 的等价物:

  <ListView>
    <ListView.ItemsSource>
        <x:Array Type="{x:Type Cell}">
            <EntryCell Text="{Binding Phone}" />
            <EntryCell Text="{Binding Code}" />
            <TextCell Text="LOGIN" Command="{Binding Login}"/>
        </x:Array>
    </ListView.ItemsSource>
  </ListView>

【问题讨论】:

    标签: c# xamarin.ios xamarin xamarin.android xamarin.forms


    【解决方案1】:

    考虑到您希望每个单元格具有不同模板/布局的静态单元格,您是否尝试过 Xamarin.Forms TableView? http://iosapi.xamarin.com/?link=T%3aXamarin.Forms.TableView

    <TableView>
        <TableView.Root>
            <TableSection Title="Login">        
                <EntryCell Text="{Binding Phone}" />
                <EntryCell Text="{Binding Code}" />
                <TextCell Text="LOGIN" Command="{Binding Login}"/>
            </TableSection>
        </TableView.Root>
    </TableView>
    

    诚然,在撰写本文时,这似乎为您提供了一个不可自定义的部分标题(但这可能会有所改善)。

    【讨论】:

    • 我们尝试了这个,但我们的 UI 中根本不希望 TableSection 出现任何标题。但是如果你将Title 设置为空白,Android 上仍然会有一个空白的可点击行作为标题。 ListView 没有这个问题。
    • fwiw,这个空标题仍然存在于 Xamarin.Forms v2.5.0.91635 中,因此仍然不是理想的替代品。
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2020-02-24
    • 2011-08-04
    • 2015-01-13
    • 2016-01-21
    相关资源
    最近更新 更多