Ich habe eine Schaltfläche Strip Benutzerkontrolle, die ich auf den meisten meiner Formulare haben möchte.WPF - CanExecute löst nicht aus, wenn Befehle von einem Benutzersteuerelement ausgelöst werden
Ich habe die Befehle wie folgt hinzugefügt ...
public ICommand Create
{
get
{
return buttonCreate.Command;
}
set
{
buttonCreate.Command = value;
}
}
ich gesetzt habe diese als Abhängigkeitseigenschaften, so kann ich an sie binden ...
public static readonly DependencyProperty CreateCommandProperty =
DependencyProperty.Register(
"Create",
typeof(ICommand),
typeof(StandardButtonStrip),
new PropertyMetadata((ICommand)null));
Ich bin dann Bindung mein Usercontrol auf einen Befehl ...
<commoncontrols:StandardButtonStrip HorizontalAlignment="Stretch" Create="{Binding CreateCommand}" />
ich den Befehl Einrichten bin wie folgt ...
_viewModel.CreateCommand = new DelegateCommand<object>(OnCreateCommand, CanCreate);
aber trotz der Tatsache, dass ich immer True auf meine CanCreate-Methode zurückgibt, ist die Schaltfläche deaktiviert ... Wenn ich einen Breakpoint bei der Rückgabe true setzen, wird es nie ausgelöst!
public bool CanCreate(object parm)
{
return true;
}
Ich habe dies versucht, um zu sehen, ob es die Bindung aktualisieren wird, aber keine Freude!
_viewModel.CreateCommand.RaiseCanExecuteChanged();
denke ich, das Problem auf die Benutzersteuerung nach unten und, wie ich den Befehl bin vorbei als eine Eigenschaft, aber nicht sicher ...
Kann jemand helfen?
Cheers,
Andy
Danke, das hat gut funktioniert! –