Основание MVVM: Ошибка подтверждения: недопустимое имя свойства
Я только начинаю с MVVM Foundation. я получаю
мои коды ниже:
StartViewModel
class StartViewModel : ObservableObject
{
public StartViewModel() {
_counter = 0;
}
public ICommand IncrementCommand
{
get { return _incrementCommand ?? (_incrementCommand = new RelayCommand(() => ++Counter)); }
}
protected int Counter {
get { return _counter; }
set {
_counter = value;
base.RaisePropertyChanged("Counter");
}
}
protected int _counter;
protected RelayCommand _incrementCommand;
}
StartView
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50*" />
<RowDefinition Height="250*" />
</Grid.RowDefinitions>
<Button Content="Increment" Grid.Row="0" Command="{Binding IncrementCommand}" />
<TextBlock Padding="5" Text="{Binding Counter}" Grid.Row="1" />
</Grid>
что не так с кодом? ошибка появляется, когда я пытаюсь нажать кнопку увеличения
1 ответ
Решение
Измените базу на это в строке RaisePropertyChanged.
Базовый класс не имеет свойства с именем Counter
РЕДАКТИРОВАТЬ: Возможно, это потому, что ваша собственность охраняется не публично
В комментариях в ObservableObject в MVVM Foundation упоминается, что он проверяется на публичное владение