Frage

Ich bin nur mit MVVM Foundation begonnen. Ich erhalte

alt text

meine Codes unter:

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;
}

Startansicht

<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>

was ist falsch mit dem Code? der Fehler wird angezeigt, wenn ich die Erhöhungs-Schaltfläche klicken versuchen

War es hilfreich?

Lösung

Änderung Basis dieses auf der RaisePropertyChanged Linie.

Die Basisklasse keine Eigenschaft namens Zähler

EDIT: Vielleicht ist es, weil Sie Eigentum geschützt ist nicht öffentlich

Die Kommentare in ObservableObject in MVVM Stiftung erwähnt, dass es für öffentliches Eigentum ist die Überprüfung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top