TextBox の自動スクロール

だいぶ二番煎じかと思われますが,
自分メモとして残します.

テキストが追加されたときに
自動的に最後尾までスクロールしてくれる TextBox は何かと便利です.
しかし,これを実現するためには
MSDN にもあるように C# コードで次のようにする必要があります.

 

これだけのために C# コードを書かないといけないのはなんだか美しくない.
ということでもう少し調べてみたら,ScrollViewer を利用する方法が紹介されていました.
ScrollViewer には ScrollToBottom() というメソッドがあり,
TextBox の TextChanged イベントでこのメソッドをコールするという方法です.
相変わらず C# コード書かないといけないのは変わらないんですが,
自分は TextBox を自分好みにしたカスタムコントロールを使っていて,
TextBox を ScrollViewer でラップしていたので,
これを利用することにしました.

カスタムコントロールの実装部では C# コードから ScrollToBottom() メソッドをコールしていますが,
このコントロ-ルを使う側では,IsAutoVerticalScroll プロパティを True に設定するだけで
自動スクロールが実現されるという仕様にしたので,
かなり使い勝手が良くなりました.