我有一个WPF RichTextBox
控件,除了用户不能编辑文本和插入符号不可见之外,我希望它在所有方面都像普通的RichTextBox
一样工作。我遇到的问题是,当我将IsReadOnly
更改为False
时,RichTextBox
将停止对击键的反应。我希望它能正常响应像Home键,End键,PgUp键,PgDn键,Up键,Down键。documentation没有提到这种行为。
<RichTextBox
IsReadOnly="True"
ScrollViewer.VerticalScrollBarVisibility="Visible"
Width="65" Height="20">
<FlowDocument>
<Paragraph>
Line 1
Line 2
Line 3
</Paragraph>
</FlowDocument>
</RichTextBox>
我尝试添加一个OnKeyDown
事件处理程序,但它不会触发。我在Snoop中观看了事件,当我在键盘焦点的RichTextBox
上按键时,Snoop中没有显示任何触发的事件。我曾尝试将IsDocumentEnabled
显式设置为True
,但同样没有效果。我尝试过将RichTextBox
包装在ScrollViewer
中,但也没有任何效果。
关于如何将此RichTextBox
作为IsReadOnly=True
维护,并获得RichTextBox
的预期击键行为,有什么建议吗
发布于 2011-08-11 22:11:13
将IsReadOnlyCaretVisible
设置为True
<RichTextBox IsReadOnly="True"
IsReadOnlyCaretVisible="True"
... />
如果不希望插入符号可见,则将CaretBrush
设置为Transparent
<RichTextBox IsReadOnly="True"
IsReadOnlyCaretVisible="True"
CaretBrush="Transparent"
... />
https://stackoverflow.com/questions/7033400
复制