Я помещаю текстовое поле 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;
}
Любая помощь приветствуется. Спасибо.
Стандартизованный способ позволить пользователю вводить свой собственный текст - это иметь то, что WPF вызывает "редактируемый" ComboBox:
http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.iseditable.aspx
<ComboBox IsEditable="True"> ...
Надеюсь, что это поможет, я чувствую вашу боль, пытаясь найти путь вокруг системы фокуса/ввода!