メッセージを表示するために LongListMultiSelector を使用しています。メッセンジャーのように、最新のメッセージはボタンにあります。ListHeaderTemplate にボタンがあることは知っています。これにより、以前のメッセージを読み込んでリストの上部に挿入できます ( ObservableCollection.Insert(0, item);
)。
挿入は機能しますが、リストは最後に挿入されたアイテムに自動的にスクロールするように見えます-実際にはスクロールしませんが、挿入後に新しいアイテムが表示されるため、スクロールするように感じますが、むしろ解決策を探しています挿入された新しいアイテムの前の最初のアイテムを表示したままにし、リストヘッダーに再び到達するには、新しい上部にもう一度垂直スクロールする必要があります。
手がかりはありますか?
編集1
が現在の最初のアイテムであると考えてから、oldFirstItem
そのアイテムの前に新しいアイテムを挿入します。新しいアイテムが最初のアイテムになり、スクロール位置が変わらないため、新しいアイテムが表示されます。リストが新しく挿入されたアイテムまでスクロールするように感じますが、アイテム 1 から n を下に押しただけです。私が望むのは、すべての新しいアイテムをユーザーが見えない領域に押し上げ、表示されてoldFirstItem
いるアイテムの上部に押し上げることです。ScrollTo を使用すると、そのリストがジャンプします。
EDIT 2 達成したいことを示すために写真を追加しました。赤い線より上の領域は表示されません。