diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index aac3015..3c357c7 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -48,6 +48,7 @@ EquationInputArea::EquationInputArea() { m_accessibilitySettings->HighContrastChanged += ref new TypedEventHandler(this, &EquationInputArea::OnHighContrastChanged); + m_isHighContrast = m_accessibilitySettings->HighContrast; m_uiSettings = ref new UISettings(); m_uiSettings->ColorValuesChanged += ref new TypedEventHandler(this, &EquationInputArea::OnColorValuesChanged); @@ -309,6 +310,7 @@ void EquationInputArea::FocusEquationIfNecessary(CalculatorApp::Controls::Equati void EquationInputArea::OnHighContrastChanged(AccessibilitySettings ^ sender, Object ^ args) { ReloadAvailableColors(sender->HighContrast, true); + m_isHighContrast = sender->HighContrast; } void EquationInputArea::OnColorValuesChanged(Windows::UI::ViewManagement::UISettings ^ sender, Platform::Object ^ args) @@ -316,9 +318,9 @@ void EquationInputArea::OnColorValuesChanged(Windows::UI::ViewManagement::UISett WeakReference weakThis(this); this->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler([weakThis]() { auto refThis = weakThis.Resolve(); - if (refThis != nullptr) + if (refThis != nullptr && refThis->m_isHighContrast == refThis->m_accessibilitySettings->HighContrast) { - refThis->ReloadAvailableColors(refThis->m_accessibilitySettings->HighContrast, false); + refThis->ReloadAvailableColors(false, false); } })); } diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h index 19c9fc0..dd95b75 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h @@ -81,6 +81,7 @@ public Windows::UI::ViewManagement::UISettings ^ m_uiSettings; int m_lastLineColorIndex; int m_lastFunctionLabelIndex; + bool m_isHighContrast; ViewModel::EquationViewModel ^ m_equationToFocus; Platform::Collections::Map ^ variableSliders; };