2012-01-10 49 views
0

我有一個關於在mvvm模式中設置滾動查看器的垂直偏移的問題。因此,我的用例就像在產品列表頁面上,用戶點擊列表底部的「加載更多」按鈕,它從服務器獲得更多產品,並且當用戶點擊「加載更多」時,頁面仍然具有相同的垂直偏移量」。當用戶點擊「加載更多」時,我可以獲得垂直偏移量,但是在從服務器檢索更多產品後,設置它時出現問題。首先,我嘗試將偏移量綁定到視圖模型中的依賴項屬性,並在視圖模型中對其進行更新。然而,系統抱怨scrollviewer的verticaloffset屬性是隻讀的。我也試圖在視圖中做到這一點。我想在列表框更新時調用_scrollViewer.ScrollToVerticalOffset()。但是,我無法在列表框中找到像Listbox_Updated這樣的事件。任何想法我應該怎麼做?謝謝!在mvvm中設置滾動查看器的垂直偏移

+0

爲什麼你想在加載更多時操縱垂直偏移? – 2012-01-10 05:43:25

回答

0

您可以創建一個附加的依賴屬性(使用DependencyProperty.RegisterAttached),您在一個列表框,其中發現的ScrollViewer ListBox中的一次加載設置(可能使用GetTemplateChild()或VisualTreeHelper)。該屬性可以綁定到視圖模型,並在值更改時調用ScrollToVerticalOffset,並在ScrollViewer上的LayoutUpdated事件引發時更新其值。

相關問題