回答編集履歴

1

見直しキャンペーン中

2023/07/29 05:10

投稿

TN8001
TN8001

スコア10022

test CHANGED
@@ -1,39 +1,20 @@
1
1
  「ライブ ビジュアル ツリー」ウィンドウで調べるとすぐわかります。
2
-
3
2
  [デバッグ中に XAML のプロパティを調べる - Visual Studio (Windows) | Microsoft Docs](https://docs.microsoft.com/ja-jp/visualstudio/xaml-tools/inspect-xaml-properties-while-debugging)
4
-
5
-
6
3
 
7
4
  `TreeView`の子供が`Border`で、`Border`の子供が`ScrollViewer`です(テンプレートをいじっていない場合)
8
5
 
9
-
10
-
11
6
  単純にやるとこんなんでしょう(`<TreeView x:Name="treeView">`とした)
12
-
13
- ```C#
7
+ ```cs
14
-
15
8
  var border = VisualTreeHelper.GetChild(treeView, 0);
16
-
17
9
  var scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
18
-
19
10
  scrollViewer.LineDown();
20
-
21
11
  ```
22
12
 
23
-
24
-
25
13
  こういった拡張メソッドを作っておいてもいいでしょう。
26
-
27
14
  [VisualTreeの子孫要素を取得する - xin9le.net](https://blog.xin9le.net/entry/2013/10/29/222336)
28
-
29
- ```C#
15
+ ```cs
30
-
31
16
  var scrollViewer = treeView.Descendants<ScrollViewer>().First();
32
-
33
17
  scrollViewer.LineDown();
34
-
35
18
  ```
36
19
 
37
-
38
-
39
20
  実際は`Window_Loaded`あたりで、`ScrollViewer`を1回だけ取得すればいいでしょう。