2017-07-31 8 views
0

バインド可能なピッカーが機能しないのはなぜですか?ここ

public ObservableCollection<string> cidadeItems 
    { 
     get { return cditems; } 
     set 
     { 
      cditems = value; 
      PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(String))); 
     } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 

    void PopulaPickerCidade(string estadoSelecionado) 
    { 
     cidadeList = new ObservableCollection<String>(); 

     bool repetido; //repetido = thesame 
     foreach (var itemLojaLst in lstLoja) 
     { 
      repetido = false; 
      if (estadoSelecionado.ToUpper().Equals(itemLojaLst.estado.ToUpper())) 
      { 
       if (cidadeList.Count() > 0) 
       { 
        foreach (var itemCidLst in cidadeList) 
        { 
         if (itemCidLst.Equals(itemLojaLst.cidade)) 
         { 
          repetido = true; 
          break; 
         } 
        } 
       } 

       if (!repetido) 
        cidadeList.Add(itemLojaLst.cidade); 
      } 
     } 

     // cidadeList.Sort(); 

     cidadeItems = cidadeList; 
    } 

の背後に私のコードである私は、このメソッドを呼び出すプログラムを見て、動作するようです...私のリストは、私が望んでいたように、通常の受信している...しかし、XAML(マイピッカー)はdoesnのピッカーにデータを表示しない...ボタンを押してピッカーを埋めるObservableを埋めると、2番目のメソッドが呼び出されます。ページ上のBindingContextを設定する方法

<Picker x:Name="cidadepicker" 
     ItemsSource="{Binding cidadeItems}" 
     Title="Cidade" 
     SelectedIndexChanged="PickerCidade_SelectedindexChanged"/> 

答えて

1

最初のチェック:

は、これは私のXAMLです。次いで

new PropertyChangedEventArgs(nameof(String)) 

コール

new PropertyChangedEventArgs("cidadeItems") 
+0

BindingContextを= "{バインディングcidadeItems}" の違いは何であるとのItemsSource = "{バインディングcidadeItems}" の代わりに試しますか? –

+0

私は今のところコードを使用しています... –

+0

いくつかの要素はリストビューのようなItemsSourceを持っていますが、いくつかはありません。答えはあなたのために働いたのですか? –

関連する問題