"Property Get method was not found" OnPropertyChanged 错误

"Property Get method was not found" error on OnPropertyChanged

我收到错误

Additional information: Property Get method was not found when invoking OnPropertyChanged.

我的想法是,我有一个 ListView,其中包含 select 和 SelectionMode="Multiple" 的多个项目。每次在 ListView 中单击某个项目时,我都想将其添加到 ObservableCollection<Inspection>

目前我是这样做的:

Xaml:

<ListView x:Name="Reports"
                  Margin="0,5,0,0"
                  RelativePanel.Below="ListViewHeader"
                  SelectionMode="Multiple"
                  ItemsSource="{Binding inspectionCatalogSingleton.Inspections}"
                  SelectedItem="{Binding SelectedInspections, Mode=TwoWay}">
</ListView>

视图模型:

public ReportViewModel()
{
    _selectedInspections = new ObservableCollection<Inspection>();
}

private ObservableCollection<Inspection> _selectedInspections; 
public Inspection SelectedInspections
{
    set
    {
        _selectedInspections.Add(value);
        OnPropertyChanged();
    }
} 

/*....*/

public event PropertyChangedEventHandler PropertyChanged;

[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}

我在 属性 的设置部分设置了一个断点,它进入正常但是当我单击继续时错误在这一行上升:

PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));

我做错了什么?

由于 On属性Changed 将指示 wpf 更新所有引用的绑定,因此它需要一种方法来获取 属性.

的值

您的 属性 SelectedInspections 中缺少 Getter。 这就是您收到此 Exception/Error 消息的原因。