private void EquationTextBox_Loaded(object sender, RoutedEventArgs e) { var tb = (EquationTextBox)sender; var colorChooser = (EquationStylePanelControl)tb.ColorChooserFlyout.Content; colorChooser.AvailableColors = AvailableColors; if (m_equationToFocus != null && tb.DataContext == m_equationToFocus) { var copyEquationToFocus = m_equationToFocus; m_equationToFocus = null; tb.FocusTextBox(); int index = Equations.IndexOf(copyEquationToFocus); if (index >= 0) { var container = (UIElement)EquationInputList.ContainerFromIndex(index); if (container != null) { container.StartBringIntoView(); } } } }
public void FocusEquationTextBox(EquationViewModel equation) { int index = Equations.IndexOf(equation); if (index < 0) { return; } var container = (UIElement)EquationInputList.ContainerFromIndex(index); if (container != null) { container.StartBringIntoView(); var equationInput = VisualTree.FindDescendantByName(container, "EquationInputButton"); if (equationInput == null) { return; } var equationTextBox = equationInput as EquationTextBox; if (equationTextBox != null) { equationTextBox.FocusTextBox(); } } }
private void FocusEquationIfNecessary(EquationTextBox textBox) { if (m_equationToFocus != null && textBox.DataContext == m_equationToFocus) { m_equationToFocus = null; textBox.FocusTextBox(); int index = Equations.IndexOf(m_equationToFocus); if (index >= 0) { var container = (UIElement)EquationInputList.ContainerFromIndex(index); if (container != null) { container.StartBringIntoView(); } } } }