From ebc57af20396ea0d2707a0eb5dd22036a5baf65d Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 11 Mar 2020 09:41:52 -0700 Subject: [PATCH] Work around crash by replacing ItemRepeater with ListView (#1058) * Replace ItemRepeater with ListView * Allow animations * undo temp key change * Remove animation --- .../GraphingCalculator/EquationInputArea.xaml | 134 +++++++++++------- .../EquationInputArea.xaml.cpp | 6 +- 2 files changed, 85 insertions(+), 55 deletions(-) diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index d2b1526..07daf2a 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -775,58 +775,88 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index 7f981de..9784916 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -149,7 +149,7 @@ void EquationInputArea::FocusEquationTextBox(EquationViewModel ^ equation) { return; } - auto container = EquationInputList->TryGetElement(index); + auto container = EquationInputList->ContainerFromIndex(index); if (container == nullptr) { return; @@ -234,7 +234,7 @@ void EquationInputArea::EquationTextBox_Loaded(Object ^ sender, RoutedEventArgs unsigned int index; if (Equations->IndexOf(copyEquationToFocus, &index)) { - auto container = EquationInputList->TryGetElement(index); + auto container = static_cast(EquationInputList->ContainerFromIndex(index)); if (container != nullptr) { container->StartBringIntoView(); @@ -264,7 +264,7 @@ void EquationInputArea::FocusEquationIfNecessary(CalculatorApp::Controls::Equati unsigned int index; if (Equations->IndexOf(m_equationToFocus, &index)) { - auto container = EquationInputList->TryGetElement(index); + auto container = static_cast(EquationInputList->ContainerFromIndex(index)); if (container != nullptr) { container->StartBringIntoView();