Я пытаюсь получить событие keydown keydown, чтобы уловить событие backspace key down. У меня это работает, добавив класс, который переопределяет текстовое поле. То, что я не знаю, как это сделать, - это связаться с классом, где текстовое поле находится в пользовательском элементе управления.переопределяет текстовое поле Silverlight
Когда пользователь вводит текстовое поле ... скажем, abcd или backspace, мне нужно что-то обновить в usercontrol. давайте просто скажем, что я хочу иметь что-то, что отображает количество символов в текстовом поле. может кто-нибудь мне помочь. Вот то, что я до сих пор
Option Strict On
Imports System.Text.RegularExpressions
Partial Public Class Page
Inherits UserControl
Public Sub New()
InitializeComponent()
Dim textbox As New MyTextBox() With {.Width = 300, .Height = 100}
LayoutRoot.Children.Add(textbox)
End Sub
End Class
Public Class MyTextBox
Inherits TextBox
Protected Overrides Sub OnKeyDown(ByVal e As KeyEventArgs)
MyBase.OnKeyDown(e)
If e.Key = Key.Back Then
e.Handled = True
MyBase.OnKeyDown(e)
ElseIf e.Key = Key.Delete Then
e.Handled = True
MyBase.OnKeyDown(e)
End If
End Sub
End Class
благодаря Shannon
Другая вещь, которая выскакивает из-за меня об этом, заключается в том, что у вас есть два условия «если», которые имеют один и тот же код. Было бы легче прочитать, если бы вы просто положили «или» туда, чтобы код не повторялся (например, если e.Key = Key.Back OrElse e.Key = Key.Delete ... Я думаю, что так вы делаете это в VB) – Rich
Вы когда-нибудь это выясняли? –