2010-10-20 8 views
1

Sans vouloir trop insinuer sacha, est-ce que quelqu'un sait quelle est la façon de fermer une vue à partir d'une commande ViewModel?Version Cinch de la commande ViewModel pour fermer une vue

Auparavant, j'ai utilisé un RelayCommand dans la base ViewModel pour accepter l'action de commande Escape keybinding et j'ai câblé un événement RequestClose dans le code View pour faire cela.

Répondre

1

Utilisez CloseActivePopUpCommand.Execute (true) dans la méthode execute pour fermer une vue.

J'ai inclus un court exemple ci-dessous.

[ExportViewModel("PickOperatorViewModel")] 
[PartCreationPolicy(CreationPolicy.NonShared)] 
public class PickOperatorViewModel : ViewModelBase 
{ 
    [ImportingConstructor] 
    public PickOperatorViewModel() 
    { 
    PickOperaterCommand = new SimpleCommand<Object, Object>(CanExecutePickOperaterCommand, ExecutePickOperaterCommand); 
    } 

    public SimpleCommand<Object, Object> PickOperaterCommand { get; private set; } 
    private void ExecutePickOperaterCommand(Object args) 
    { 
    CloseActivePopUpCommand.Execute(true); 
    } 

    private bool CanExecutePickOperaterCommand(Object args) 
    { 
    return true; 
    } 
}