2017-06-20 2 views
0

Xamarinフォームの新機能です。これは愚かな質問であれば私を許してください。XamarinフォームのリストビューでExtra Separatorを削除する方法

私は単純にListViewを作成しました。しかし、私は行が空の余分なセパレータを削除したい。

私はSO、google、Xamarinフォームで検索しようとしています。何も私のための助けはありません。

XAMLコード:

<?xml version="1.0" encoding="utf-8"?> 
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:ListViewDemo" x:Class="ListViewDemo.ListViewDemoPage"> 
    <StackLayout Orientation="Vertical" 
      VerticalOptions="Fill" 
      HorizontalOptions="StartAndExpand"> 
     <ListView x:Name="MainListView" Margin="0,30,0,0" VerticalOptions="FillAndExpand" SeparatorColor="Red" BackgroundColor="Gray" HasUnevenRows="true"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <ViewCell> 
         <Grid> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="*" /> 
           <ColumnDefinition Width="auto" /> 
          </Grid.ColumnDefinitions> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="auto" /> 
          </Grid.RowDefinitions> 
          <Label Text="{Binding Name}" Grid.Column="0" Margin="10,10,0,0"> 
          </Label> 
          <Label Text="{Binding Age}" Grid.Column="1" Margin="0,10,10,0"> 
          </Label> 
         </Grid> 
        </ViewCell> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </StackLayout> 
</ContentPage> 

ListViewDemoPage.cs

using System.Collections.Generic; 
using Xamarin.Forms; 

namespace ListViewDemo 
{ 
    public partial class ListViewDemoPage : ContentPage 
    { 
     public ListViewDemoPage() 
     { 
      InitializeComponent(); 

      var strings = new List<EmptyClass> 
      { 
       new EmptyClass{Name = "Harshad Harshad Harshad Harshad Harshad Harshad Harshad Harshad", Age = 23}, 
       new EmptyClass{Name = "Sunita", Age = 23}, 
       new EmptyClass{Name = "Rahul", Age = 23}, 
       new EmptyClass{Name = "Vrushbh", Age = 23}, 
       new EmptyClass{Name = "Harmi", Age = 23}, 
       new EmptyClass{Name = "Jigu", Age = 23}, 

      }; 

      MainListView.ItemsSource = strings; 
     } 
    } 
} 

EmptyClass.cs

using System; 
namespace ListViewDemo 
{ 
    public class EmptyClass 
    { 
     public string Name { get; set; } 
     public double Age { get; set; } 
     public EmptyClass() 
     { 
     } 
    } 
} 

任意のヘルプがあることppreciated。

答えて

1

ちょうどListView.ItemTemplate

<ListView.Footer> 
      <StackLayout Orientation="Horizontal"> 
      </StackLayout> 
</ListView.Footer> 

全コードの下にフッターを追加します。

<?xml version="1.0" encoding="utf-8"?> 
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:ListViewDemo" x:Class="ListViewDemo.ListViewDemoPage"> 
    <ListView x:Name="MainListView" Margin="0,30,0,0" VerticalOptions="FillAndExpand" SeparatorColor="Red" BackgroundColor="Gray" HasUnevenRows="true"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell> 
        <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="*" /> 
          <ColumnDefinition Width="auto" /> 
         </Grid.ColumnDefinitions> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="auto" /> 
         </Grid.RowDefinitions> 
         <Label Text="{Binding Name}" Grid.Column="0" Margin="10,10,0,0"> 
         </Label> 
         <Label Text="{Binding Age}" Grid.Column="1" Margin="0,10,10,0"> 
         </Label> 
        </Grid> 
       </ViewCell> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
     <ListView.Footer> 
      <StackLayout Orientation="Horizontal"> 
      </StackLayout> 
     </ListView.Footer> 
    </ListView> 
</ContentPage> 
+0

ListView.Footerが問題を解決していることがわかりませんでした。余分な(必要ではない)行はそれ以上表示されません。 – broadband

0

また、フッターのプロパティに空の文字列を追加することによって、空のセルを削除することができます。

<ListView 
    x:Name="MainListView" 
    Margin="0,30,0,0" 
    VerticalOptions="FillAndExpand" 
    SeparatorColor="Red" 
    BackgroundColor="Gray" 
    Footer="" 
    HasUnevenRows="true"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <ViewCell> 
        .... 
       <!-- Removed for simplicity --> 
        .... 
      </ViewCell> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
    <ListView.Footer> 
     <StackLayout Orientation="Horizontal"> 
     </StackLayout> 
    </ListView.Footer> 
</ListView> 
関連する問題