コード例 #1
0
        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();
                    }
                }
            }
        }
コード例 #2
0
        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();
                }
            }
        }
コード例 #3
0
        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();
                    }
                }
            }
        }