Фокус Silverlight (), затем Command Call = Fail? - PullRequest
0 голосов
/ 17 марта 2011

У меня проблемы при вызове команды сразу после вызова Focus ().Кажется, команда не использует правильные значения, которые я ввел в текстовое поле.Он использует значение, которое было там, прежде чем я изменил значение (проблема синхронизации)

ps: я просто вызываю btnArrow.Focus ();чтобы текстовое поле, в которое я набираю текст, потеряло фокус

Моя цель - просто вызвать команду с хорошими значениями текстового поля.

Я тоже пробовал событие KeyUp ... Я что-то упустил?

Большое спасибо!

1 Ответ

1 голос
/ 18 марта 2011

Предполагается, что для привязки TextBox.Text используется TwoWay:

    private void JTextBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            // option 1 - pass the value in
            JButton.Command.Execute(JTextBox.Text); 

            // option 2 - force the binding
            JTextBox.GetBindingExpression(TextBox.TextProperty).UpdateSource();
            JButton.Command.Execute(null); 
        }
    }

Хотя я хотел бы услышать о любых подводных камнях с вариантом 2 ...

...