2017-08-30 17 views
1

私はListViewとそのItemsSourceを持っています。私がやっている各項目のデータ・テンプレートをカスタマイズするためにXamarinフォームListView Itemsソースの問題

ListView IList = new ListView(); 
IList.ItemsSource = _routine_names; 

IList.ItemTemplate = new DataTemplate(()=> 
     { 
      Label Routine_Name = new Label(); // should be_routine_names 
      return new ViewCell 
      { 
       View = new StackLayout{ 
        Children = {Routine_Name} 
       } 
      }; 
     }); 

私はこれを実行すると、私のListViewが表示され、リスト項目は、(彼らはそれのonclickハンドラを持っている確かにありますされます_routine_namesにあるものでなければならないテキストはありません。

私の質問DataTemplateのLabelを_routine_namesの項目にするにはどうすればよいですか?

私がDataTemplateを追加している理由は、削除するためにスワイプを追加できるからです。

答えて

4

TextCellに内蔵されているものをそのまま使用してください。メインテキストの下に小さなテキスト行が必要な場合は、バインド可能なTextPropertyとオプションのDetailPropertyがあります。

IList.ItempTemplate = new DataTemplate(()=> 
{ 
    var textCell = new TextCell(); 
    textCell.ContextActions.Add(yourAction); 
    textCell.SetBinding(TextCell.TextProperty, "."); 
    return textCell; 
} 

IList.ItemsSource = _routine_names; 

yourActionまたhere

を見たようなタイプのMenuItemであり、私はそこに何か他のものを使用したいので、IListがSystem.Collection名前空間内のクラスの名前であることを何卒ご了承下さい。

+0

第2パラメータの "Routine_Name"とは何ですか?私の_routine_namesは単に文字列のObservableCollectionです。 – justin

+0

@justin ObservableCollection の場合、バインディングを '.'に設定すると、コレクション内の各文字列を指し示すことができます。変更を反映するために私の答えを更新しました。 – hankide

+0

@justing最新の変更を適用してもらえましたか? – hankide

関連する問題