2012-10-29 14 views
5

Khi tôi nhấn "Shift + Space" để nhập một nửa không gian (khi tôi viết bằng tiếng Ba Tư) trong RichTextBox, nó chỉ chèn khoảng trắng. Nó gõ tất cả các chữ cái Ba Tư khác một cách chính xác, nhưng khi nói đến "Shift + Space", nó chỉ là không gian.Làm cách nào để nhập một nửa không gian trong RichTextBox?

Tên của ký tự này là "ZERO WIDTH NON-JOINER" và thông tin được cung cấp trong liên kết này: http://www.fileformat.info/info/unicode/char/200c/index.htm.

Tôi nên đề cập đến rằng tôi đã khắc phục sự cố bằng cách xử lý sự kiện previewKewDown; nhưng tôi muốn biết vấn đề với tổ hợp phím này trong RichTextBox là gì.

cảm ơn.

+0

bạn đã thử thay đổi văn hóa của hộp văn bản có định dạng? –

+0

@D J. cảm ơn, nhưng tôi không nghĩ rằng vấn đề là với ngôn ngữ hoặc văn hóa – Ramin

+0

Bạn có cùng một vấn đề với một 'TextBox'? –

Trả lời

1

Tôi tin rằng chức năng này sẽ cần phải được lập trình như một phần của điều khiển (hoặc RichTextBox hoặc một số lớp kế thừa), nhưng có vẻ như đây không phải là trường hợp.

Một thay thế tôi tìm thấy trên another website là để nhấn Alt + 0157(sử dụng bàn phím với NumLock kích hoạt để nhập mỗi chữ số, cùng một lúc), mặc dù điều này là không tốt như giải pháp của bạn của trọng trường previewKewDown.

Symbol Screen

1

Tôi nghĩ vấn đề chỉ đơn giản là với cách bố trí bàn phím của bạn trong cửa sổ. Bố cục bàn phím của Windows cho tiếng Ba Tư đơn giản là không hỗ trợ ZWNJ. Nếu bạn sử dụng Bàn phím tiếng Ba Tư chuẩn Iran (ISIRI 9147) (Phiên bản 2.0) từ Persian Computing Community Site, nó sẽ khả dụng.

+0

Cảm ơn, nhưng tôi đang sử dụng bố cục này – Ramin

0

Tôi đã gặp phải sự cố tương tự và khắc phục sự cố ở mã sau bằng cách xử lý sự kiện PreviewKeyDown. Chỉ muốn thêm rằng nghiên cứu nhỏ của tôi về vấn đề này khiến tôi nghĩ rằng thuộc tính xml:space trên phần tử Run cơ bản có thể là nguyên nhân của vấn đề. Đọc về cách khoảng trắng được xử lý trong XAML here.

Các vấn đề liên quan