質問編集履歴
1
内容がごちゃごちゃしていたので知りたいことを簡潔になるよう纏めました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
WPF TextBox で
|
1
|
+
WPF TextBox でカーソル位置が最下行にある事を知る方法
|
test
CHANGED
@@ -1,52 +1,14 @@
|
|
1
1
|
WPFのTextBoxを使ってプログラムを作っています。
|
2
|
-
|
3
|
-
TextBoxには複数行の文で書かれたテキストファイルを読み込んで表示させます。
|
4
|
-
|
5
|
-
読み込んだテキストはマウスのWheel一行ずつ(対象の一行のみ)順番にTextBox.Select()で
|
6
|
-
|
7
|
-
強調表示させています。
|
8
2
|
|
9
3
|
|
10
4
|
|
11
|
-
|
5
|
+
カーソルがTextBoxの最下行に来た場合、カーソルが
|
12
6
|
|
13
|
-
|
7
|
+
TextBoxの最下行にある事を知る方法はないでしょうか?
|
14
8
|
|
15
|
-
スクロールし、最下行に次の行が表示されます。 強調表示の最下行の次の行を見たい場合、
|
16
|
-
|
17
|
-
これを繰り返せばよいのですが、最下行ではその先を見る事が出来ず、マウスでスクロールバー
|
18
|
-
|
19
|
-
|
9
|
+
カーソル移動はTextView.Select()を使用しています。
|
20
|
-
|
21
|
-
テキスト行を進めています。
|
22
10
|
|
23
11
|
|
24
|
-
|
25
|
-
やりたいことは、カーソルがTextBoxの最下行に来た場合、一行スクロールさせるのではなく、
|
26
|
-
|
27
|
-
任意に複数行(画面中央付近に)スクロールアップさせたいです。(見渡したいため)
|
28
|
-
|
29
|
-
そうするには、現在のカーソル位置がTextBoxのどのへんかを知る必要があります。例えば最下行にある
|
30
|
-
|
31
|
-
とか。
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
調べてみると GetLastVisibleLineIndex() がありますが、知りたい事と少し違うようです。
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
何か良い方法はないでしょうか?
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
それと、あわせて WindowフォームのTextBoxにはあった フォーカスが無くなった時に強調表示が
|
44
|
-
|
45
|
-
消えないようにHideSelection=false が出来ていましたが、同等のプロパティーがWPFのTextBoxには
|
46
|
-
|
47
|
-
無いようです。
|
48
|
-
|
49
|
-
別の方法でフォーカスが変わっても反転表示を残す方法はないでしょうか?。
|
50
12
|
|
51
13
|
|
52
14
|
|