Handle focus for clear and clearentry buttons (#896)
This commit is contained in:
parent
d7e7f46c99
commit
dbc3dc5abb
@ -475,6 +475,7 @@
|
|||||||
AutomationProperties.AutomationId="clearButton"
|
AutomationProperties.AutomationId="clearButton"
|
||||||
ButtonId="Clear"
|
ButtonId="Clear"
|
||||||
Content="C"
|
Content="C"
|
||||||
|
LostFocus="ClearButton_LostFocus"
|
||||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
|
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
|
||||||
|
|
||||||
<controls:CalculatorButton x:Name="ClearEntryButton"
|
<controls:CalculatorButton x:Name="ClearEntryButton"
|
||||||
@ -484,6 +485,7 @@
|
|||||||
AutomationProperties.AutomationId="clearEntryButton"
|
AutomationProperties.AutomationId="clearEntryButton"
|
||||||
ButtonId="ClearEntry"
|
ButtonId="ClearEntry"
|
||||||
Content="CE"
|
Content="CE"
|
||||||
|
LostFocus="ClearEntryButton_LostFocus"
|
||||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
|
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
|
||||||
|
|
||||||
<controls:CalculatorButton x:Name="BackSpaceButton"
|
<controls:CalculatorButton x:Name="BackSpaceButton"
|
||||||
|
@ -52,7 +52,8 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||||||
FindName("RshLogicalButton");
|
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
|
if (RolButton == nullptr || RorButton == nullptr || RolCarryButton == nullptr || RorCarryButton == nullptr || LshLogicalButton == nullptr
|
||||||
|| RshLogicalButton == nullptr)
|
|| RshLogicalButton == nullptr)
|
||||||
{
|
{
|
||||||
@ -61,7 +62,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||||||
|
|
||||||
CollapseBitshiftButtons();
|
CollapseBitshiftButtons();
|
||||||
|
|
||||||
auto radioButton = static_cast<RadioButton^>(sender);
|
auto radioButton = static_cast<RadioButton ^>(sender);
|
||||||
|
|
||||||
if (radioButton == ArithmeticShiftButton)
|
if (radioButton == ArithmeticShiftButton)
|
||||||
{
|
{
|
||||||
@ -142,3 +143,19 @@ void CalculatorProgrammerRadixOperators::CalculatorProgrammerRadixOperators::Ope
|
|||||||
{
|
{
|
||||||
Model->SetOpenParenthesisCountNarratorAnnouncement();
|
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;
|
bool m_isErrorVisualState;
|
||||||
void OpenParenthesisButton_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
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/>
|
||||||
<ColumnDefinition/>
|
<ColumnDefinition/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<controls:CalculatorButton Name="ClearEntryButton"
|
<controls:CalculatorButton x:Name="ClearEntryButton"
|
||||||
x:Uid="clearEntryButton"
|
x:Uid="clearEntryButton"
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Style="{StaticResource OperatorButtonStyle}"
|
Style="{StaticResource OperatorButtonStyle}"
|
||||||
@ -906,6 +906,7 @@
|
|||||||
AutomationProperties.AutomationId="clearEntryButton"
|
AutomationProperties.AutomationId="clearEntryButton"
|
||||||
ButtonId="ClearEntry"
|
ButtonId="ClearEntry"
|
||||||
Content="CE"
|
Content="CE"
|
||||||
|
LostFocus="ClearEntryButton_LostFocus"
|
||||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
|
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
|
||||||
|
|
||||||
<controls:CalculatorButton x:Name="ClearButton"
|
<controls:CalculatorButton x:Name="ClearButton"
|
||||||
@ -916,6 +917,7 @@
|
|||||||
AutomationProperties.AutomationId="clearButton"
|
AutomationProperties.AutomationId="clearButton"
|
||||||
ButtonId="Clear"
|
ButtonId="Clear"
|
||||||
Content="C"
|
Content="C"
|
||||||
|
LostFocus="ClearButton_LostFocus"
|
||||||
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
|
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
|
||||||
|
|
||||||
<controls:CalculatorButton x:Name="BackSpaceButton"
|
<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());
|
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 ShiftButton_IsEnabledChanged(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ e);
|
||||||
void SetOperatorRowVisibility();
|
void SetOperatorRowVisibility();
|
||||||
void SetTrigRowVisibility();
|
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