Итак, я пытаюсь связать текущий элемент с ItemsSource с SelectedItem в Comobox. Надеюсь, следующий код (упрощенный пример) продемонстрирует то, что я хочу.Связывание SelectedItem в comobox с текущим ItemSource?
public class book : INotifyPropertyChanged{
private string _title;
private string _author;
public book(){
this.Title = "";
this.
}
public string Title{
get{return _title;}
set{
_title = value;
NotifyPropertyChanged("Title");
}
}
public string Author{
get{return _author;}
set{
_author = value;
NotifyPropertyChanged("Author");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
ThisViewModel.cs Код:
public class ThisViewModel{
private ObservableCollection<Book> _book;
private List<Book> _existedBooks;
public ObservableCollection<Book> Book{
get{return _book;}
set{_book = value;}
}
public ThisViewModel(){
Books = new ObservableCollection<Book>();
Books.Add(new Book())
}
public List<Book> ExistedBooks{
get{return _existedBooks;}
set{_existedBooks = value;}
}
}
Код фоновым из ThisView.xaml.cs:
public partial class ThisView{
public ThisView(){
InitializeComponent();
this.DataContext = new ThisViewModel();
}
}
Часть XAML код ThisView.xaml:
<ItemsControl ItemsSource="{Binding Path=Book}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=ExistedBooks}"
DisplayMemberPath="Title"
SelectedItem="{Binding <HERE IS MY PROBLEM>}"
></ComboBox>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Как я могу связать sel ectedItem (один из существующих) для элемента ItemControl (книга).
Надеюсь, я четко сформулировал свою точку зрения. Спасибо за ваше время.
Возможный дубликат [Как связать с родительским DataTemplate из элемента ItemsControl.ItemTemplate] (http://stackoverflow.com/questions/8184972/how-to-bind-to-parent-datatemplate-from-within-an- itemscontrol-itemtemplate) –
В чем проблема? – ColinM