Domanda

Il mio ViewModel ha un evento

public class TestViewModel 
{
    public event RoutedEventHandler Run;
}

Voglio attivare questo evento quando l'utente ha fatto clic su un pulsante in vista

Come vincolarlo con un pulsante in una vista?

È stato utile?

Soluzione

Eventi rotti sono pensati per i controlli non visualizza i modelli, se hai qualcosa che dovrebbe essere eseguito su un pulsante Click A comando Sarebbe più adatto secondo me, può essere facilmente legato al Button.Command.

Altri suggerimenti

Penso che dovresti usare delegateCommand per tale comportamento.

Nel tuo modello di vista:

private DelegateCommand _runCommand;
public DelegateCommand RunCommand
{
    get
    {
        if (_runCommand == null)
            _runCommand = new DelegateCommand(Run, CanRun);

        return _runCommand;
    }
}

void Run()
{
    ... 
}

bool CanSaveAction()
{
    return true;
}

Nella tua pagina:

<Button Command="{Binding RunCommand}" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top