2018年09月07日(金) [長年日記]
■ [c#] WPFの読み取り専用TextBoxでカーソルを有効にする
WPFのTextBoxコントロールはReadOnlyプロパティの値をtrueにすると読み取り専用にできる。
ただ、こうするとTextBoxにカーソル(キャレット)が表示されなくなり、例えば長い行が表示された際にカーソルキーを使って右にスクロールさせるという操作ができなくなってしまう(マウスを使えば操作できるけれど)。
そういうものかと思っていたが、TextBoxにはIsReadOnlyCaretVisibleというプロパティがあることを知った。
Gets or sets a value that indicates whether a read-only text box displays a caret.
このプロパティの値をtrueにすれば、読み取り専用だがカーソルキーで操作できるTextBoxを表示できる。