#xamarin #xamarin.forms #editor #spell-checking
#xamarin #xamarin.forms #редактор #проверка орфографии
Вопрос:
Я разрабатываю приложение для чата с использованием Xamarin.Формы. У меня есть требование проверки орфографии. Я использую Editor
для ввода сообщения.
В Editor
Если пользователь что-то вводит, он должен проверить написание слова и сообщить пользователю, что написание неправильное с подчеркиванием или чем-то еще (ike Grammarly делает в Web). Как я могу добиться этого с помощью Xamarin.Формы.
Я пробовал с помощью Xamarin.Формирует свойство по умолчанию IsSpellCheckEnabled
, но это ни на что не влияет, т. е. не проверяет написание. Есть ли какой-либо обходной путь для достижения этого. На приведенном ниже изображении слово, написанное неправильно, подчеркнуто синим цветом. Я хочу сделать это следующим образом, но не имею ни малейшего представления о том, как этого добиться. Кто-нибудь, пожалуйста, может мне с этим помочь. Спасибо.
Ответ №1:
Если ваша клавиатура отключает проверку орфографии, IsSpellCheckEnabled
свойство игнорируется. Поэтому попробуйте сначала включить проверку орфографии со своего устройства. Для получения дополнительной информации посетите docs.microsoft. Пример кода
<Editor AutoSize="TextChanges" IsSpellCheckEnabled="True" VerticalOptions="StartAndExpand"
HorizontalOptions="FillAndExpand">
</Editor>
Примечание: Если на вашей клавиатуре включена опция автокоррекции, после нажатия клавиши enter / space неправильное написание будет исправлено автоматически, и текст с подчеркиванием отображаться не будет.
Обновление: Также установлено IsTextPredictionEnabled="True"
в вашем Editor
.
Если установлена клавиатура, отключающая проверку орфографии, например Клавиатура.В чате свойство IsSpellCheckEnabled игнорируется. Следовательно, свойство нельзя использовать для включения проверки орфографии для клавиатуры, которая явно отключает ее.
Комментарии:
1. Спасибо за ответ. Я использую обычную клавиатуру, т. Е. Keyboard = «По умолчанию», и свойство проверки орфографии включено в настройках моего устройства, но все равно оно не работает, не знаю, что не так. Вот мой код
<Editor x:Name="Message" PlaceholderColor="Gray" IsSpellCheckEnabled="True" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Text="{Binding MessageText}"/>
2. Вы набираете или настраиваете текст программно? вы должны ввести.
3. Я только печатаю.. Я привязал свой текст к некоторой переменной в моей модели представления и не устанавливал текст программно
4. Попробуйте установить
IsTextPredictionEnabled="True"
и проверьте.5. Спасибо, это работает со свойством IsSpellCheckEnabled=»True» в случае обычного редактора, но в случае customeditor это не работает, приходится устанавливать свойства в renderer