MVVM Fondazione: Asserzione Errore non riuscita: non valido Nome proprietà
-
05-10-2019 - |
Domanda
Io sono appena iniziato con MVVM Fondazione. Io sono sempre
i miei codici di seguito:
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;
}
vista all'avvio
<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>
Cosa c'è di sbagliato con il codice? l'errore si verifica quando provo fare clic sul pulsante Incremento
Soluzione
base di modifica a questo sulla linea RaisePropertyChanged.
La classe di base non ha una proprietà chiamata contatore
EDIT: Forse è perché proprietà è protetta non pubblica
I commenti a ObservableObject in MVVM Foundation afferma che si sta verificando per la proprietà pubblica
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow