3

我有一个简化为以下 XAML 的 ListBox

<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 添加一个事件处理程序,但这没有奏效。

我确信我错过了一些愚蠢的东西,并且看不到树木的树木。我已经走到了尽头,需要有人介入并提供帮助。

4

1 回答 1

9

您需要绑定到SelectedProperty

<ListBox ItemsSource="{Binding Properties}" 
 DisplayMemberPath="Name" 
 SelectedItem="{Binding SelectedProperty}"  />
于 2012-05-16T12:49:09.357 回答