Handle focus for clear and clearentry buttons (#896)
This commit is contained in:
parent
d7e7f46c99
commit
dbc3dc5abb
@ -475,6 +475,7 @@
|
||||
AutomationProperties.AutomationId="clearButton"
|
||||
ButtonId="Clear"
|
||||
Content="C"
|
||||
LostFocus="ClearButton_LostFocus"
|
||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
|
||||
|
||||
<controls:CalculatorButton x:Name="ClearEntryButton"
|
||||
@ -484,6 +485,7 @@
|
||||
AutomationProperties.AutomationId="clearEntryButton"
|
||||
ButtonId="ClearEntry"
|
||||
Content="CE"
|
||||
LostFocus="ClearEntryButton_LostFocus"
|
||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
|
||||
|
||||
<controls:CalculatorButton x:Name="BackSpaceButton"
|
||||
|
@ -52,7 +52,8 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
||||
FindName("RshLogicalButton");
|
||||
}
|
||||
|
||||
// Since arithmeticShiftButton defaults to IsChecked = true, this event an fire before we can load the deferred loaded controls. If that is the case, just return and do nothing.
|
||||
// Since arithmeticShiftButton defaults to IsChecked = true, this event an fire before we can load the deferred loaded controls. If that is the case, just
|
||||
// return and do nothing.
|
||||
if (RolButton == nullptr || RorButton == nullptr || RolCarryButton == nullptr || RorCarryButton == nullptr || LshLogicalButton == nullptr
|
||||
|| RshLogicalButton == nullptr)
|
||||
{
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
@ -898,7 +898,7 @@
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<controls:CalculatorButton Name="ClearEntryButton"
|
||||
<controls:CalculatorButton x:Name="ClearEntryButton"
|
||||
x:Uid="clearEntryButton"
|
||||
Grid.Column="1"
|
||||
Style="{StaticResource OperatorButtonStyle}"
|
||||
@ -906,6 +906,7 @@
|
||||
AutomationProperties.AutomationId="clearEntryButton"
|
||||
ButtonId="ClearEntry"
|
||||
Content="CE"
|
||||
LostFocus="ClearEntryButton_LostFocus"
|
||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
|
||||
|
||||
<controls:CalculatorButton x:Name="ClearButton"
|
||||
@ -916,6 +917,7 @@
|
||||
AutomationProperties.AutomationId="clearButton"
|
||||
ButtonId="Clear"
|
||||
Content="C"
|
||||
LostFocus="ClearButton_LostFocus"
|
||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
|
||||
|
||||
<controls:CalculatorButton x:Name="BackSpaceButton"
|
||||
|
@ -140,3 +140,19 @@ String ^ CalculatorScientificOperators::ParenthesisCountToString(unsigned int co
|
||||
{
|
||||
return (count == 0) ? ref new String() : ref new String(to_wstring(count).data());
|
||||
}
|
||||
|
||||
void CalculatorScientificOperators::ClearEntryButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e)
|
||||
{
|
||||
if (ClearEntryButton->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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user