2015-06-12 2 views
1

У меня есть следующий список на странице содержания. Данные привязываются отлично, но верхний и нижний колонтитулы никогда не появляются.ListView Верхний и нижний колонтитулы не отображаются

<?xml version="1.0" encoding="UTF-8" ?> 

<ContentPage.Content> 
     <SearchBar x:Name="SearchFor" 
      Placeholder="search for" 
      Text="{Binding Path=SearchText}" 
      TextChanged="OnValueChanged" 
      SearchButtonPressed="OnSearch" /> 

     <ListView x:Name="listView" ItemSelected="OnItemSelected" ItemsSource="{Binding Item}" 
Header="{Binding ItemID}" 
Footer="{Binding SupplierItemDesc}"> 
<ListView.HeaderTemplate > 
    <DataTemplate> 
    <StackLayout Orientation="Horizontal" 
     Padding="10,5,5,10" 
     BackgroundColor="Yellow"> 
     <Label Text="~~"/> 
     <Label Text="{Binding .}"/> 
     <Label Text="~~"/> 
    </StackLayout> 
    </DataTemplate> 
</ListView.HeaderTemplate> 
<ListView.ItemTemplate> 
    <DataTemplate> 
     <TextCell Text="{Binding RetailCurrencyCode}" Detail="{Binding RetailValue}"></TextCell> 
    </DataTemplate> 
</ListView.ItemTemplate> 


</ContentPage.Content> 

Даже если я включу шаблон группировки, он просто ничего не покажет.

+0

Известна ошибка (хотя для iOS), что заголовок имеет «Высота» 0, вы могли бы попытаться дать вам «StackLayout» высоту и посмотреть, что-то это делает? –

+0

@GeraldVersluis, я попробовал указать «Height» как на «StackLayout», так и на «Label», но не работал. –

ответ

0

Оберните DataTemplate в ViewCell и дать ему высоту:

<ListView.HeaderTemplate > 
    <DataTemplate> 
      <StackLayout Orientation="Horizontal" 
       Padding="10,5,5,10" 
       BackgroundColor="Yellow" HeightRequest="40"> 
        <Label Text="~~"/> 
        <Label Text="{Binding .}"/> 
        <Label Text="~~"/> 
      </StackLayout> 
    </DataTemplate> 
</ListView.HeaderTemplate> 
+0

мы не можем иметь ViewCell в DataTemplate. Это даст исключение: _Value было недопустимым значением для HeaderTemplate_ –

+0

Я имел в виду HeaderTemplate для выше. –

+0

Да, моя ошибка. Мне казалось, что вам нужны сгруппированные заголовки. Попробуйте дать StackLayout значение HeightRequest вместо Height. Высота - это свойство readonly. Я изменил свой пример кода, чтобы отразить это. – pnavk

0

Я имел такой же вопрос. Что я решил для этого, я создал объект, к которому я привязываюсь, в конструкторе модели представления. Я считаю, что это связано с тем, что я привязываюсь к объекту, который является нулевым при связывании с использованием <Label Text="{Binding .}"/>.