[英]WPF Listbox binding - SelectedItem remains null
我在玩MVVM和綁定。 更具體地說,一個ListBox顯示了一個對象集合:
<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可以很好地顯示Collection中的項目,但是我要做的是單擊Box中的項目,然后在TextBox中顯示該項目的更多詳細信息。 我以為可以將ListBox的SelectedItem屬性綁定到ViewModel中的Selected-property(如上所示),然后將該屬性綁定到TextBox,如下所示:
<TextBox Text="{Binding SelectedScout.Id}"/>
但這是行不通的。 當我在列表框中選擇一個項目時,TextBox保持空白,因為我的SelectedScout
屬性為null。
我已經為這個問題苦苦掙扎了一段時間了,我似乎找不到這種解決方法。 我不知道我在想什么。
預先感謝您的幫助。
**編輯:我解決了這個問題。 感謝您的回答,但錯誤出在此行:
public Scout SelectedScout
{
get { return selectedScout; }
set
{
OnPropertyChanged("SelectedScout");
*value = selectedScout;*
}
}
當然應該在哪里:
selectedScout = value;
我現在真的很傻。 謝謝您的幫助。
**
這是插入更新,刪除所選索引的正確示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.