virtual bool TranslateAccelerator(MSG% msg, ModifierKeys modifiers) override
{
    if (msg.message == WM_KEYDOWN && msg.wParam == IntPtr(VK_TAB))
    {
        // Obsługa Shift+Tab
        if (GetKeyState(VK_SHIFT))
        {
            if (GetFocus() == hwndOfFirstControl)
            {
                // Jesteśmy na początku, a więc przekaż fokus do poprzedniego elementu WPF
                return this->KeyboardInputSite->OnNoMoreTabStops(
                gcnew TraversalRequest(FocusNavigationDirection::Previous));
            }
            else
                return (SetFocus(hwndOfPreviousControl) != NULL);
        }
        // Obsługa Shift bez Tab
        else
        {
            if (GetFocus() == hwndOfLastControl)
            {
                // Jesteśmy na końcu, a więc przekaż fokus do następnego elementu WPF
                return this->KeyboardInputSite->OnNoMoreTabStops(
                gcnew TraversalRequest(FocusNavigationDirection::Next));
            }
            else
                return (SetFocus(hwndOfNextControl) != NULL);
        }
    }
}