WPF: привязка данных и обработчики нажатий клавиш - PullRequest
0 голосов
/ 12 ноября 2010

Это мое текстовое поле:

<TextBox TextAlignment="Right" Text="{Binding PriorityScore, StringFormat=N2}"       
         Name="PriorityScoreBox" TextChanged="PriorityScoreBox_TextChanged" /> 

Когда я нажимаю кнопку Сохранить, все работает отлично.

Когда я нажимаю Control-S, он не сохраняет ожидающие изменения втекстовое поле.Это делается с помощью обработчика нажатий клавиш на уровне страницы.

Я не могу использовать UpdateSourceTrigger=PropertyChanged, потому что это мешает форматированию строки.(Пользователь вводит «4», и поле автоматически изменяется на «4,00».)

Возможно, есть способ зафиксировать ожидающие изменения в событии нажатия клавиши?

1 Ответ

0 голосов
/ 12 ноября 2010
Private Sub PriorityScoreBox_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.KeyEventArgs)
  If e.Key = Input.Key.S And CBool(e.KeyboardDevice.Modifiers And ModifierKeys.Control) Then
      Dim bx As BindingExpression = CType(sender, TextBox).GetBindingExpression(TextBox.TextProperty)
   bx.UpdateSource()
 End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...