(Handlar om WPF och inte silverlight med det finns inget WPF forum)WPF Kommandon
Funderar lite kring kommandon. Min applikation har ett par lager
XAML
Window
Worker
Var skall jag definiera mina Routing Commands? I Window eller Worker.
Det är ju Worker som gör jobbet så det verkar mest logiskt att ha dem där.
Men när man sen skall använda kommandona så kan jag inte binda dem direkt till min Worker utan måste gå via Window.
Worker är ju därför inte direkt inblandad i kommandot.
class Worker {
public static readonly RoutingCommand DoWork = ...;
public void DoWorkExecute()...
public bool DoWorkCanExecute()...
}
class Window {
private Worker mWorker = new Worker();
public Window() {
CommandBinding.Add(Worker.DoWork, DoWorkExecut, DoWorkCanExecute);
}
void DoWorkExecute(object sender, ExecuteRoutedEventArgs e) {
mWorker.DoWorkExecute();
}
}
En annan fråga på samma tema:
Varför måste jag skriva så här för egendefinerade kommandon
Button Command="{x:Static local:Worker.DoWork}"
men för standardkommandon kan jag skriva så här:
Button Command="ApplicationCommand.Exit"