我刚刚开始使用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>
代码有什么问题?我尝试点击增量按钮
时出现错误答案 0 :(得分:4)
在RaisePropertyChanged行上将base更改为this。
基类没有名为Counter
的属性编辑:也许是因为你的财产受到保护而不是公开
MVVM Foundation中的ObservableObject中的注释提到它正在验证公共属性