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
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
Je n'ai pas de commande CanExecute. Voulez-vous que j'ajoute un autre code? – Miral