2014-09-06 39 views
1

我有List<string> MyList有4個值。這些顯示在ComboBox控件中。綁定在我的MVVM WPF項目中完美運行。SelectedItem和SelectedValue返回錯誤的項目

我也有一個string SelectedMyList,它綁定到我的XAML,應該顯示選定的項目。我的問題是,無論使用SelectedItemSelectedValue,它總是通過在MYLIST

private MyClass()//constructor 
{ 
    MyList = new List<string>() {"Hi", "Bye", "Hello", "See ya"}; 
} 

private string _selectedMyList; 
public string SelectedMyList 
{ 
    get 
    { 
     return this._selectedMyList; 
    } 
    set 
    { 
     //value is always Hi 
     if (this._selectedMyList== value) 
      return; 

     this._selectedMyList= value; 
     OnPropertyChanged("SelectedMyList"); 
    } 
} 

private List<string> _myList; 
public List<string> MyList 
{ 
    get 
    { 
     return this._myList; 
    } 
    set 
    { 
     if (this._myList== value) 
      return; 

     this._myList= value; 
     OnPropertyChanged("MyList"); 
    } 
} 

第一項,我的XAML

<ComboBox ItemsSource="{Binding MyList}" SelectedValue="{Binding SelectedMyList, UpdateSourceTrigger=PropertyChanged}" /> 

有沒有錯誤/綁定錯誤等的輸出窗口。

爲什麼SelectedItem/SelectedValue不能通過我認爲從ComboBox中選擇的項目?

+0

你有沒有在XAML或代碼背後設置'DataContext'? – 2014-09-06 14:22:37

+0

@YuliamChandra,如果我沒有設置DataContext,那麼MyList將如何綁定? – MyDaftQuestions 2014-09-06 14:32:58

回答

0

這對我有用。

private string _selectedMyList; 
    public string SelectedMyList 
    { 
     get 
     { 
      return this._selectedMyList; 
     } 
     set 
     { 
      //value is always Hi 
      if (this._selectedMyList != value) 
      { 
       this._selectedMyList= value; 
       OnPropertyChanged("SelectedMyList"); 
      } 
     } 
    } 

    private List<ObservableCollection> _myList; 
    public ObservableCollection<string> MyList 
    { 
     get 
     { 
      return this._myList; 
     } 
     set 
     { 
      if (this._myList== value) 
      { 
       this._myList= value; 
       OnPropertyChanged("MyList"); 
      } 
     } 
    } 

的XAML:

<ComboBox ItemsSource="{Binding MyList}" 
      SelectedItem="{Binding SelectedMyList}" 
      IsSynchronizedWithCurrentItem="True"/> 
+0

不知道爲什麼我需要同步它,雖然...我懷疑還有其他事情正在進行,但是,這確實可以解決它。謝謝 – MyDaftQuestions 2014-09-06 14:37:12

相關問題