2010-11-12 51 views
0

這是我的文本框:WPF:數據綁定和按鍵處理

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

當我點擊保存按鈕,一切工作正常。

當我按下Control-S時,它不會保存文本框中的掛起更改。這是通過頁面級別的按鍵處理程序完成的。

,因爲它與字符串格式化interfers我不能使用UpdateSourceTrigger=PropertyChanged。 (用戶類型「4」和箱自動更改爲「4.00」。)

也許有一種方法來犯的按鍵事件的突出變化?

回答

0
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