2017-07-28 4 views
1

私はピッカーを持っていて、そのデータを変更したいのですが、すべてのデータをクリアして新しいデータを入れますが、それを行うためにどのようにラインが使われているのか分かりません。私はすでに試した:ピッカーのすべてのデータを削除するにはどうすればよいですか?

cidadepicker.Items.RemoveAt(i); //with a for 

cidadepicker.Items.Clear(); 

を同様。

私はXamarinフォームを使用しています。私は何をすべきかわからない。

答えて

1

セットSelectedIndex = -1.これは、アイテムが選択されないようにピッカーをリセットします。

YourPicker.SelectedIndex = -1; 
+0

System.ArgumentOutOfRangeException:インデックスが範囲外でした。負でなく、コレクションのサイズより小さくなければなりません。 パラメータ名:インデックス データを表示し、データが消滅した後に表示します。 –

+0

System.ArgumentOutOfRangeException:インデックスが範囲外です。負でなく、コレクションのサイズより小さくなければなりません。 –

0

ピッカーのItemsSourceがdataSourceにバインドされている場合、Itemsはすでに読み取り専用コレクションです。

例えば

<string>(またはモデル)の

var Lst_Items = new List<string>(); 
Lst_items.add("item 1"); 
Lst_items.add("item 2"); 
Lst_items.add("item 3"); 

cidadepicker.ItemsSource = Lst_Items; 

//to remove all data from your picker simply. 

Lst_Items.clear(); 

cidadepicker.ItemsSource = Lst_Items; 

//or you can simply set the item source to be null. 

cidadepicker.ItemsSource = null; 
+0

ありがとう –

2

使用監視可能なコレクションとあなたのピッカーにバインドします。そこから、Bindingコレクションを使用して、ピッカーの子供を操作できます。

あなたのViewModelの内部。

private ObservableCollection<string> _pickerItems = new ObservableCollection<string>(); 

     public YourViewModel() 
     { 
      PickerItems.Add("item1"); 
      PickerItems.Add("item2"); 
      PickerItems.Add("item3"); 
     } 


     public ObservableCollection<string> PickerItems 
     { 
      get { return _pickerItems; } 
      set 
      { 
       _pickerItems = value; 
       OnPopertyChanged("PickerItems"); 
      } 
     } 

あなたのアクティビティでは、

private YourViewModel ViewModel=new YourViewModel(); 

BindingContext=ViewModel; 

xamlのピッカーの内側。

ItemSource={Binding PickerItems} 

これで、アイテムソースをアクティビティから呼び出すことができます。

ViewModel.PickerItems.Clear() //to clear items 
ViewMOdel.PickerItems.Add("New Item") // add item 

PS:限り、あなたがあなたのゲッター/セッター(PickerItems)にOnPropertyChangedをしているようUIが自動的に更新されます。希望を助けた

+0

私は20個のアイテムのリストを持っていて、それを10個のアイテムに変更した場合、これは私のピッカーが10個しか持っていないのですか? これは私が欲しいものです –

+0

これで、古いアイテムとレイアウトのニュースが混在します –

+0

OnPopertyChanged( "PickerItems")とは何ですか? –

関連する問題