FANDOM


準備中

Tips 編集

ListViewに関する小ネタ。

物理スクロール 編集

ListViewのScrollViewer.CanContentScrollをFalseに設定するとスクロールが物理スクロールになります。

物理スクロールとは、リストビューの項目単位のスクロールではなくピクセル単位でスクロールが行われるためスムーズスクロールとも呼ばれます。


項目までスクロールする 編集

ListBox.ScrollIntoViewまたはListView.ScrollIntoViewで指定した項目をリストビュー内の一番下項目に表示します。

listBox1.ScrollIntoView("Item50");


MVVMパターンでプログラミングしている場合、上述のようにListBox/ListViewのオブジェクトを使ってScrollIntoViewを呼び出せないため他の方法を採用します。このテクニックについてはHow to control the scroll position of a ListBox in a MVVM WPF appを参照。

このテクニックは、若干コードビハインドをいじる必要はありますが、コードビハインド側のコードもMVVMとは切り離されているコードのためVM側はViewのことを気にする必要はありません。

コードビハインド側の解説。

private void BringSelectionIntoView(object sender, SelectionChangedEventArgs e)
{
	Selector selector = sender as Selector;
	if (selector is ListBox)
	{
		(selector as ListBox).ScrollIntoView(selector.SelectedItem);
	}
}

BringSelectionIntoViewはXAMLのListBox/ListViewのSelectionChangeイベントを受けるイベントハンドラです。
ご覧の通り、コードビハインドではScrollIntoViewを呼び出しています。

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki