diff --git a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml index ce4f598..cfcca65 100644 --- a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml +++ b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml @@ -475,6 +475,7 @@ AutomationProperties.AutomationId="clearButton" ButtonId="Clear" Content="C" + LostFocus="ClearButton_LostFocus" Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/> (sender); + auto radioButton = static_cast(sender); if (radioButton == ArithmeticShiftButton) { @@ -142,3 +143,19 @@ void CalculatorProgrammerRadixOperators::CalculatorProgrammerRadixOperators::Ope { Model->SetOpenParenthesisCountNarratorAnnouncement(); } + +void CalculatorProgrammerRadixOperators::ClearEntryButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e) +{ + if (ClearEntryButton->Visibility == ::Visibility::Collapsed && ClearButton->Visibility == ::Visibility::Visible) + { + ClearButton->Focus(::FocusState::Programmatic); + } +} + +void CalculatorProgrammerRadixOperators::ClearButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e) +{ + if (ClearEntryButton->Visibility == ::Visibility::Visible && ClearButton->Visibility == ::Visibility::Collapsed) + { + ClearEntryButton->Focus(::FocusState::Programmatic); + } +} diff --git a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h index 4cab69c..bd61def 100644 --- a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h +++ b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h @@ -39,5 +39,7 @@ namespace CalculatorApp bool m_isErrorVisualState; void OpenParenthesisButton_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void ClearEntryButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void ClearButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; } diff --git a/src/Calculator/Views/CalculatorScientificOperators.xaml b/src/Calculator/Views/CalculatorScientificOperators.xaml index 20adf96..c2fe5ab 100644 --- a/src/Calculator/Views/CalculatorScientificOperators.xaml +++ b/src/Calculator/Views/CalculatorScientificOperators.xaml @@ -898,7 +898,7 @@ - Visibility == ::Visibility::Collapsed && ClearButton->Visibility == ::Visibility::Visible) + { + ClearButton->Focus(::FocusState::Programmatic); + } +} + +void CalculatorScientificOperators::ClearButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e) +{ + if (ClearEntryButton->Visibility == ::Visibility::Visible && ClearButton->Visibility == ::Visibility::Collapsed) + { + ClearEntryButton->Focus(::FocusState::Programmatic); + } +} diff --git a/src/Calculator/Views/CalculatorScientificOperators.xaml.h b/src/Calculator/Views/CalculatorScientificOperators.xaml.h index 5d75178..5c104dd 100644 --- a/src/Calculator/Views/CalculatorScientificOperators.xaml.h +++ b/src/Calculator/Views/CalculatorScientificOperators.xaml.h @@ -43,5 +43,7 @@ namespace CalculatorApp void ShiftButton_IsEnabledChanged(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ e); void SetOperatorRowVisibility(); void SetTrigRowVisibility(); + void ClearEntryButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void ClearButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; }