2014-06-26 3 views
10

У нас есть несколько экранов, которые должны эффективно быть UITableViews на iOS, которые имеют статическое количество строк и разных типов ячеек.Xamarin.Forms - ListView полностью в XAML

Есть ли способ определить это в XAML с Xamarin.Forms, и не нужно настраивать привязку к 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> 

ответ

2

Учитывая вы хотите статические клетки с различными шаблонами/макет для каждой ячейки, вы пробовали 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> 

Правда это, кажется, дает вам нон заголовок настраиваемый раздел в момент записи (но это, вероятно, улучшить).

+1

Мы пробовали это, но не хотим, чтобы в нашем пользовательском интерфейсе для заголовка 'TableSection' вообще не было заголовков. Но если вы устанавливаете 'Title' в пустую, в Android-заголовке по-прежнему остается пустая строка с щелчком мыши. «ListView» не имел этой проблемы. – jonathanpeppers

+0

fwiw, этот пустой заголовок все еще присутствует в Xamarin.Forms v2.5.0.91635, поэтому все еще не идеальный заменитель. – patridge

Смежные вопросы