2010-05-27 14 views
0

Je suis nouveau sur WPF et j'ai essayé d'apprendre une application composite WPF.
J'ai le contrôle de l'utilisateur qui est un module dont 1 étiquette et 1 bouton dessus.
Maintenant, je suis en train d'utiliser la propriété Command sur le bouton qui ressemble àLe bouton de Wpf usercontrol ne déclenche pas l'ICommand dans Presenter

<Button Name="button1" Command="{Binding Path = GetCustomerNameCommand}">GetCustomer</Button> 

Dans le présentateur, j'ai

public class HelloWorldPresenter : PresenterBase<IHelloWorldView> 
    { 
     private readonly IWpfService _wpfService; 

     public HelloWorldViewModel CustomerViewModel { get; set; } 

     public ICommand GetCustomerNameCommand { get; set; } 

     public HelloWorldPresenter(IHelloWorldView view, IWpfService wpfService) 
      : base(view) 
     { 
      _wpfService = wpfService; 

      GetCustomerNameCommand = new DelegateCommand<string>(GetCustomerName); 
      View.Presenter = this; 

      PopulateViewModel(string.Empty); 
     } 

     private void GetCustomerName(string obj) 
     { 
      throw new NotImplementedException(); 
     } 

     private void PopulateViewModel(string test) 
     { 
      CustomerViewModel = new HelloWorldViewModel { Name = _wpfService.GetCustomer() }; 
     } 
    } 

La chose est la méthode GetCustomerName() ne reçoit pas exécuté quand je clique le bouton

+0

il n'y a rien de mal avec le c ode vous nous avez montré, donc le problème doit être quelque part dans le code que vous n'avez pas montré. Que retourne 'CanExecute()' de votre 'DelegateCommand'? Se pourrait-il que cela renvoie 'false'? – bitbonk

+0

Je n'ai pas de commande CanExecute. Voulez-vous que j'ajoute un autre code? – Miral

Répondre

0

je l'ai trouvé, j'ajoutais la même vue 2 fois qui a été l'origine du problème ...