2011-06-29 3 views
0

ビューモデル内のObservableCollectionにバインドされたScrollViewerとListBoxがあります。 ScrollViewerは、親コンテナの利用可能なすべての領域を占めるように最大化されます。コレクションが変更され、ScrollViewerの可視領域に収まるよりも多くのListBoxItemが生成されると、ScrollViewerはスクロールしてListBoxの最後のアイテムを表示します。子ListBoxの項目が更新されたときにScrollViewerがスクロールしないようにするにはどうすればよいですか? ビューモデル内のコレクションが更新されるたびにスクロール位置をそのまま維持したいと思います。 ありがとうございます!基になるコレクションが変更されたときに、拘束されたListBoxのスクロール位置を保持する

答えて

0

あなたはこれを自分で管理する必要があります。 ListBoxは、あなたが特定の場所にスクロールすることができますScrollIntoView方法があります。現在表示されている項目を決定

http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview(v=VS.95).aspx

を、あなたがこれを必要とする場合は、そう簡単ではありません。

http://wp7contrib.codeplex.com/SourceControl/changeset/view/67473#1475881

をこれは、目に見える項目のリストを提供しますGetItemsInView拡張メソッドを持っている:私はWP7Contribプロジェクトの一環として書いたItemsControlExtensionsを参照してください。

関連する問題