WPF列表框绑定:SelectedItem未设置

时间:2012-05-16 12:47:32

标签: c# wpf data-binding mvvm listbox

我将ListBox简化为以下XAML

<ListBox ItemsSource="{Binding Properties}" 
     DisplayMemberPath="Name" 
     SelectedItem="SelectedProperty" />

并在我的ViewModel中:

private List<Property> propertyList;
private Property selectedProperty;
public List<Property> Properties 
{ 
    get 
    { 
        return propertyList; 
    } 
    set 
    { 
        propertyList = value;
        NotifyPropertyChanged("Properties");
    } 
}
public Property SelectedProperty
{
    get
    {
        return selectedProperty;
    }
    set
    {
        NotifyPropertyChanged("SelectedProperty");
        selectedProperty= value;
    }
}

我的列表框填充正常,但无论我尝试什么,当我在列表框中选择一个项目时,我似乎无法更新SelectedProperty。我尝试将其全部切换为使用ObservableCollection而不是List并为CollectionChanged添加事件处理程序,但这没有用。

我确信我错过了一些愚蠢的东西,并且看不到木头的树木。我到达了我的系绳的末端,需要有人介入并提供帮助。

1 个答案:

答案 0 :(得分:9)

您需要绑定到SelectedProperty

<ListBox ItemsSource="{Binding Properties}" 
 DisplayMemberPath="Name" 
 SelectedItem="{Binding SelectedProperty}"  />