2015-12-16 4 views
0

Возможно ли иметь текстовое поле (или что-то еще) для ввода адреса пользователя с каждой записью на отдельной строке? И установить максимальное количество строк на 3 строки (для улицы, города и штата). Обратите внимание, что я не ищу другое решение, но точно иметь какое-то поле для ввода текста, принимая эти 3 на отдельной строке, например:Поле ввода текста WPF

1234 Некоторые Street
некоторых городских
Некоторые государственные

Спасибо,

ответ

1

Я предлагаю иметь 3 разных текстовых поля, по одному для каждого элемента (улица, город и штат), но если это должно быть 1 поле, вы можете установить AcceptsReturn в true и установить максимальные лимиты на 3, чтобы убедиться, что они только вводят 1 адрес.

<TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="74,72,0,0" 
      TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" MaxLines="3" AcceptsReturn="True"/> 
+0

Спасибо за ваш ответ. Да, это должно быть только одно. Я также попытался установить AcceptReturn в True и MaxLines на 3, но это не ограничивает количество строк в TextBox. Я думаю, что просто ограничивает количество строк, отображаемых TextBox, однако пользователь все равно может нажать Enter и добавить строки 4, 5, 6, .... – pixel

1

Вы можете Явные отдельные текстовые поля:

<StackPanel> 
    <TextBox Name="addr1" KeyUp="Enter_KeyUp"></TextBox> 
    <TextBox Name="addr2" KeyUp="Enter_KeyUp"></TextBox> 
    <TextBox Name="addr3" KeyUp="Enter_KeyUp"></TextBox> 
</StackPanel> 

и обрабатывать нажатие Enter вручную:

private void Enter_KeyUp(object sender, KeyEventArgs e) { 
     if (e.Key == Key.Enter) { 
      var request = new TraversalRequest(FocusNavigationDirection.Next); 
      (sender as UIElement).MoveFocus(request); 
     } 
    } 
+0

Извините, но это должен быть один текстовый блок или что-то еще. Спасибо за обмен идеями. – pixel

+0

Вы можете присоединиться к тексту трех 'TextBox' очень легко. –

1

Рассмотрим предложение Кейси Прайса, используя многоканальный текстовое поле и объединить его с проверкой данных.

См. http://blog.magnusmontin.net/2013/08/26/data-validation-in-wpf/, который имеет отличную схему проверки данных.

+0

Извините, но требование - одно текстовое поле или что-то еще. – pixel

+0

Этот подход действительно будет использовать только один TextBox. Вы можете написать конвертер, который анализирует многоязычный текст из одного текстового поля и применяет к нему проверку. С другой стороны, если ваше требование - «один TextBox и другой код или xaml или другие понятия», то это невозможно. – Vatsan

Смежные вопросы