2016-07-04 5 views
0
잘못 표시

나는 다음과 같은 XAML은자 마린 목록보기는 아이폰 OS

 <StackLayout Orientation="Vertical" VerticalOptions="EndAndExpand" HorizontalOptions="FillAndExpand" Margin="0,0,0,0"> 
     <Label Text="Menu" /> 

     <ListView x:Name="lvMenu" ItemSelected="lvMenu_ItemSelected"> 
      <ListView.ItemTemplate> 
      <DataTemplate> 
       <ImageCell ImageSource="{Binding ImageSource}" Text="{Binding TitleText}" /> 
      </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
     </StackLayout> 

다음 C#은

private void PopulateMenu() 
    { 
     var menu = new List<SettingItem>() 
     { 
      new SettingItem() { ImageSource="icon.png", TitleText="Show All Jobs", TargetPageType = typeof(JobListPage) }, 
      new SettingItem() { ImageSource="opportunities.png", TitleText="Sync Tasks", TargetPageType = typeof(SyncPage) }, 
      new SettingItem() { ImageSource="leads.png", TitleText="Advanced Settings", TargetPageType = typeof(SettingsPage) }, 
      new SettingItem() { ImageSource="contacts.png", TitleText="About ", TargetPageType = typeof(AboutPage) }, 
     }; 
     lvMenu.ItemsSource = menu; 
    } 

그 모든 좋은 웁니다했지만이 표시되면 나는

Menu 
    Show All Jobs 
    Sync Tasks 
    Advanced Settings 
를 얻을 수 iOS 에뮬레이터의

및 빈 줄 7 개

+0

이이 iOS에서인가? – user3185569

+0

예, 업데이트 된 질문 –

답변

0

ListView에 대한 iOS의 기본 동작은 빈 행을 추가하는 것입니다.

이 문제를 극복하기 위해, 당신은 StackPanel에있는 당신의 ListView를 포장 할 필요가

또는 렌더링 사용자 정의 만들기 :

protected override void OnElementChanged(ElementChangedEventArgs<ListView> e) 
{ 
    base.OnElementChanged(e); 

    if (this.Control == null) return; 

    this.Control.TableFooterView = new UIView(); 
} 

출처 : Xamarin

+0

밀도가 높지 않아서 미안하지만이 코드를 추가하는 방법과 추가 할 위치는 어디입니까? –

+0

@WelshKing 다음은 단계별 가이드입니다. https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/listview/ – user3185569