2015-01-13 2 views
0

Я играю с MVVM и привязкой. Более конкретно ListBox, который показывает коллекцию объектов:WPF привязка списка - SelectedItem остается null

<ListBox ItemsSource="{Binding Scouts}" SelectedItem="{Binding SelectedScout, Mode=TwoWay}/> 

В моих ViewModel это выглядит следующим образом:

private ObservableCollection<Scout> scouts; 
    private Scout selectedScout; 

    public Scout SelectedScout 
    { 
     get { return selectedScout; } 
     set 
     { 
      OnPropertyChanged("SelectedScout"); 
      value = selectedScout; 
     } 
    } 

    public ObservableCollection<Scout> Scouts 
    { 
     get { return scouts; } 
     set 
     { 
      OnPropertyChanged("Scouts"); 
      scouts = value; 
     } 
    } 

Теперь ListBox показывает элементы в коллекции просто прекрасно, но то, что я хочу для этого нужно щелкнуть элемент в поле, а затем показать дополнительную информацию об этом элементе в TextBox. Я полагал, что я связать в ListBox»свойство SelectedItem к выбранному-свойства в моем ViewModel (как показано выше) и связать свойство с TextBox как так:

<TextBox Text="{Binding SelectedScout.Id}"/> 

Но это не работает. TextBox остается пустым, когда я выбираю элемент в ListBox, и я полагаю, что это связано с тем, что мой SelectedScout свойство remians null.

Я уже некоторое время борюсь с этой проблемой, и я просто не могу найти решение. Я не знаю, чего мне не хватает.

Заранее благодарю вас за помощь.

** EDIT: Я решил проблему. Спасибо за ваши ответы, но ошибка была в этой строке:

public Scout SelectedScout 
    { 
     get { return selectedScout; } 
     set 
     { 
      OnPropertyChanged("SelectedScout"); 
      *value = selectedScout;* 
     } 
    } 

Где он должен, конечно, быть:

selectedScout = value; 

Я чувствую себя очень глупо Теперь. Спасибо за помощь.

**

ответ