Просто обнаружил, что вызывает редактор HTML, чтобы бросить игрушки, когда с помощью определенной буквы на клавиатуре ...WPF - Удалить мнемоническую функцию из текстового поля
На той же странице есть текстовые поля, которые содержат такие вещи, как HTML название страницы, название, URL перехода, текст меню .... Если одно из текстовых полей содержит текст с подчеркиванием (например, «Test_Page»), буква «P» не будет работать в редакторе HTML. Я предполагаю (и мог бы быть отсюда, так как я не думал, что textbox.txt может сделать это в отличие от Label.content), что WPF принимает текстовую запись и использует ее как мнемонический ключ. Я знаю, что настройка RecognisesAccessKey лжи может вылечить его, но не может найти способ, чтобы добавить, что свойство или доступ ContentPresenter ...
Это класс, который я использую, чтобы создать элемент управления, а в идеале хотел бы установить его здесь
Public Class TBx
Inherits TextBox
Public Shared IsNewRecordProperty As DependencyProperty = DependencyProperty.Register("IsNewRecord", GetType(Boolean), GetType(TBx), New PropertyMetadata(New PropertyChangedCallback(AddressOf IsNewRecordChanged)))
Public Property IsNewRecord As Boolean
Get
Return GetValue(IsNewRecordProperty)
End Get
Set(value As Boolean)
SetValue(IsNewRecordProperty, value)
End Set
End Property
Protected Overrides Sub OnInitialized(e As System.EventArgs)
MyBase.OnInitialized(e)
VerticalAlignment = Windows.VerticalAlignment.Center
HorizontalAlignment = Windows.HorizontalAlignment.Left
BorderBrush = New SolidColorBrush(Colors.Silver)
Height = 22
SpellCheck.IsEnabled = True
UndoLimit = 0
If IsNewRecord = True Then
BorderThickness = New Thickness(1)
IsReadOnly = False
Background = New SolidColorBrush(Colors.White)
Else
BorderThickness = New Thickness(0)
IsReadOnly = True
Background = New SolidColorBrush(Colors.Transparent)
End If
End Sub
Private Shared Sub IsNewRecordChanged(sender As DependencyObject, e As DependencyPropertyChangedEventArgs)
Dim vControl As TBx = TryCast(sender, TBx)
Dim vBoolean As Boolean = e.NewValue
If vBoolean = True Then
vControl.BorderThickness = New Thickness(1)
vControl.IsReadOnly = False
vControl.Background = New SolidColorBrush(Colors.White)
Else
vControl.BorderThickness = New Thickness(0)
vControl.IsReadOnly = True
vControl.Background = New SolidColorBrush(Colors.Transparent)
End If
End Sub
End Class
Спасибо