メモの日々


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を表示できる。