私はMVVMの初心者ですが、私は' ID 'と' PositionName 'のいくつかのプロパティを含むModel.csを持っています。 'Items.PositionName == null'でNullReferenceエラーが発生したことをクリックした後、SelectedItems = {Binding Items}とItemSource = {Binding Position}を持つDataGridとCommand = {Binding SHowEdits}のボタンが含まれています。
ここに私のコードです。c# - 'タイプ' System.NullReferenceException 'の未処理の例外
ViewModel.cs
class PositionVM : INotifyPropertyChanged
{
private ObservableCollection<PositionModel> _position;
private PositionModel _items;
private ICommand _showedits;
public ObservableCollection<PositionModel> Position
{
get
{
return _position;
}
set
{
_position = value;
NotifyProperty("Position");
}
}
public PositionModel Items
{
get
{
return _items;
}
set
{
_items = value;
NotifyProperty("Items");
}
}
public ICommand ShowEdits
{
get
{
if (_showedits == null)
_showedits = new ShowEdit();
return _showedits;
}
set
{
_showedits = value;
}
}
public PositionVM()
{
Position = new ObservableCollection<PositionModel>();
Position.Add(new PositionModel()
{
ID = 1,
PositionName = "asd"
});
}
public void ShowEditDialog()
{
if (Items.PositionName == null)
{
MessageBox.Show("ERROR");
}
else
{
PositionView view = new PositionView();
Data.ID = view.txtid.Text;
var z = new PositionView();
z.ShowDialog();
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyProperty(String info)
{
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
は、なぜ私はこのエラーを取得していますか?どのように私はそれを避けることができますか?このライン
Items.PositionName == null
がnull参照の例外がスローされますので