встроенное текстовое поле wpf не принимает ввод

2

Я помещаю текстовое поле wpf внутри combobox, чтобы пользователь мог ввести пользовательскую настройку. Я могу прочитать keypress в событии keydown, но текст в текстовом поле не изменяется. Что мне не хватает?

<ComboBoxItem Name="GridSizeCustom">
  <StackPanel Height="30"
              Orientation="Horizontal">
    <TextBlock Text="Grid Size (8 - 200)"
           HorizontalAlignment="Left"
           VerticalAlignment="Top"
           Margin="0"
           />
    <TextBox Name="GridSizeBox"
             KeyDown="test"
             Width="50"
             />
      </StackPanel>
    </ComboBoxItem>

Я перехожу к этому обработчику событий, когда я нажимаю клавишу, но не изменяю текст текстового поля:

public void test(Object sender, KeyboardEventArgs e) {

int x = 0;

  }

Любая помощь приветствуется. Спасибо.

  • 0
    Я попробовал ваш код, и он отлично работает. Можете ли вы объяснить, что проблема немного больше?
  • 0
    Нет воспроизведения. Опубликовать XAML или код, который показывает проблему.
Показать ещё 1 комментарий
Теги:
wpf
textbox

1 ответ

2
Лучший ответ

Стандартизованный способ позволить пользователю вводить свой собственный текст - это иметь то, что WPF вызывает "редактируемый" ComboBox:

http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.iseditable.aspx

<ComboBox IsEditable="True"> ...

Надеюсь, что это поможет, я чувствую вашу боль, пытаясь найти путь вокруг системы фокуса/ввода!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню