J'ai un bouton sur une vue reliée par une commande RoutedUICommand à une commande définie dans le ViewModel.Comment utiliser le texte d'une commande routée en tant que contenu de bouton
L'extrait de code XAML de la vue:
<Button Content="Login" Command="{Binding Login}" />
Dans la codebehind Voir ajouter la commande de liaison de la ViewModel à la collection de liaison de la vue:
this.CommandBindings.Add(viewModel.LoginCommandBinding);
Le ViewModel elle-même implémente la commande :
public class LoginViewModel:ViewModelBase
{
public ICommand Login { get; private set; }
public CommandBinding LoginCommandBinding { get; private set; }
public LoginViewModel() {
this.Login =
new RoutedUICommand("Login", "Login", typeof(Window));
this.LoginCommandBinding =
new CommandBinding(Login, LoginCommandHandler, CanExecuteHandler);
}
void LoginCommandHandler(object sender, ExecutedRoutedEventArgs e) {
//Put code here
}
void CanExecuteHandler(object sender, CanExecuteRoutedEventArgs e) {
return true;
}
}
Ainsi, la commande a été définie avec le texte et na moi deux "Login". Le bouton lui-même a le contenu "Login". Est-il possible d'utiliser le texte de la commande comme contenu du bouton?
Oui, je l'ai entendu dire que cela devrait fonctionner. C'est la raison pour laquelle je demande. Et non, supprimer la propriété Content du code xaml ne fait pas l'affaire. Le bouton reste vide. – PVitt
OK, désolé, il m'a vraiment semblé une question trop facile ... – Timores