Я работаю над приложением, которое поддерживает многие языки, включая арабский. Я наблюдаю странное поведение в текстовом поле WPF при вводе значений, но, как ни странно, то же самое отлично работает в текстовом поле Windows Form.Текстовое поле WPF Направление потока с арабским языком
Все, что я делаю это
- Создайте текстовое поле и держать это направление потока к значению по умолчанию, который LeftToRight
- изменить язык приложения на арабском языке.
Введите следующую букву по одному в текстовом поле J
(где а и J обозначает любые два символа арабский).
Результат: Wpf Текстовое поле показывает значение как 1j2a Хотя Win формирует текстовое поле отображает его j2a1.
Поскольку арабский справа налево, значение, отображаемое формой Win, является правильным, но значение WPF неверно.
Wpf отображает правильное значение, если мы наберем первый символ как арабский, а затем введите любой неарабский символ.
Кроме того, если я устанавливаю FlowDirection из TextBox в RightToLeft, тогда текстовое поле WPF отлично работает. Но это заставит мою строку двигаться вправо, и приложение будет иметь проблемы с выравниванием.
Есть ли у кого-нибудь идеи о том, почему текстовое поле WPF показывает неправильное значение, когда формы Windows работают нормально?
Кроме того, можем ли мы сохранить выравнивание текста влево, если мы установим направление потока как RightToLeft?
Что делать, если у сделать текстовое поле FlowDirection = "RightToLeft" – Vishal