2017-01-13 22 views
0

私は、下の画像(赤い四角で囲まれている)に表示されている空白を削除する方法を理解しようとしています。注意ListViewは親のListViewに埋め込まれています。Xamarinフォーム - 余分なスペースを削除/埋め込みリストビュー

enter image description here

<ListView x:Name="___listview" HasUnevenRows="True"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <ViewCell> 
       <StackLayout> 
        <Button Image="{Binding ImageName}" Command="{Binding ShowDetailsCommand}" /> 
        <ListView ItemsSource="{Binding Notes}"> 
         <ListView.ItemTemplate> 
          <DataTemplate> 
           <TextCell Text="{Binding Note}" /> 
          </DataTemplate> 
         </ListView.ItemTemplate> 
        </ListView> 
       </StackLayout> 
      </ViewCell> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

これはおそらく必要とされていませんが、こちらのモデルがあるXAML ...

MODEL

namespace ViewCellClick 
{ 
    public class ModelBase : INotifyPropertyChanged 
    { 
     public event PropertyChangedEventHandler PropertyChanged; 
     protected virtual void OnPropertyChanged(string propertyName) 
     { 
      if (PropertyChanged != null) 
       PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 

    public class Model : ModelBase 
    { 
     public Model() 
     { 
      _imageName = "ellipses_vertical.png"; 
      _showDetails = true; 
      ShowDetailsCommand = new Command(() => 
      { 
       ShowDetails = !_showDetails; 
       ImageName = (_imageName == "ellipses_vertical.png") 
             ? "ellipses_horizontal.png" 
             : "ellipses_vertical.png"; 
      }); 
     } 

     bool _showDetails; 
     public bool ShowDetails 
     { 
      get { return _showDetails; } 
      set { if (_showDetails != value) { _showDetails = value; OnPropertyChanged("ShowDetails"); } } 
     } 

     string _imageName; 
     public string ImageName 
     { 
      get { return _imageName; } 
      set { if (_imageName != value) { _imageName = value; OnPropertyChanged("ImageName"); } } 
     } 

     public ICommand ShowDetailsCommand { get; set; } 

     List<ChildModel> _notes; 
     public List<ChildModel> Notes { get { return _notes; } set { _notes = value; } } 
    } 

    public class ChildModel : ModelBase 
    { 
     public ChildModel(string note) { _note = note; } 
     string _note; 
     public string Note 
     { 
      get { return _note; } 
      set { if (_note != value) { _note = value; OnPropertyChanged("Note"); } } 
     } 
    } 
} 
+1

リストビューは、Xamarinフォームではサポートされていません。すでに説明済みです[ここ](http://stackoverflow.com/questions/35223540/listview-inside-listview-xamarin-forms) –

答えて

1

Xamarin.Forms.ListViewでこれを行うことはできず、ネストすることはサポートされていません。本当にiOS上ではこれは非常に難しく、私は奇妙なジェスチャーの振る舞いがなければ動作させることができないと確信しています。

+0

これを実装できました。別の方法。基本的には、ViewCellを拡張することです。コンストラクタでは、StackLayoutを作成し、それをビューに設定します。 OnAppearingでは、C#でコントロールを作成し、内部リストを循環させて、埋め込みリストビューで達成しようとしていたものと同じものを構築できます。 –

+0

あなたはそれをどうやって教えてくれますか? –

関連する問題