我收到错误
其他信息:调用OnPropertyChanged时未找到属性Get方法。
我的想法是,ListView
有多个要选择的项目和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));
我在这里做错了什么?
答案 0 :(得分:3)
由于OnPropertyChanged将指示wpf更新所有引用的Bindings,因此需要一种方法来获取Property的值。
您在Property SelectedInspections上缺少一个Getter。 这就是您收到此异常/错误消息的原因。