// // RelayCommand.cpp // Implementierung des RelayCommand und verknüpfter Klassen // #include "pch.h" #include "RelayCommand.h" #include "NavigationHelper.h" using namespace $safeprojectname$::Common; using namespace Platform; using namespace Platform::Collections; using namespace Windows::Foundation; using namespace Windows::Foundation::Collections; using namespace Windows::System; using namespace Windows::UI::Core; using namespace Windows::UI::ViewManagement; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Controls; using namespace Windows::UI::Xaml::Input; using namespace Windows::UI::Xaml::Navigation; /// /// Legt fest, ob dieser im aktuellen Zustand ausgeführt werden kann. /// /// /// Die vom Befehl verwendeten Daten. Wenn für den Befehl keine Datenübergabe erforderlich ist, kann dieses Objekt auf NULL festgelegt werden. /// /// True, wenn dieser Befehl ausgeführt werden kann, andernfalls False. bool RelayCommand::CanExecute(Object^ parameter) { return (_canExecuteCallback) (parameter); } /// /// Führt den im aktuellen Befehlsziel aus. /// /// /// Die vom Befehl verwendeten Daten. Wenn für den Befehl keine Datenübergabe erforderlich ist, kann dieses Objekt auf NULL festgelegt werden. /// void RelayCommand::Execute(Object^ parameter) { (_executeCallback) (parameter); } /// /// Zum Aufrufen des -Ereignisses verwendete Methode /// um anzugeben, dass der Rückgabewert von /// Die Methode hat sich geändert. /// void RelayCommand::RaiseCanExecuteChanged() { CanExecuteChanged(this, nullptr); } /// /// RelayCommand-Klassendestruktor. /// RelayCommand::~RelayCommand() { _canExecuteCallback = nullptr; _executeCallback = nullptr; }; /// /// Erstellt einen neuen Befehl, der immer ausgeführt werden kann. /// /// Die Logik des Ausführungsstatus. /// Die Ausführungslogik. RelayCommand::RelayCommand(std::function canExecuteCallback, std::function executeCallback) : _canExecuteCallback(canExecuteCallback), _executeCallback(executeCallback) { }