0

我正在用我的數據庫中的項目填充我的Accordion。我還包裹着我在一個ScrollViewer中手風琴:Silverlight Toolkit Accordion ScrollViewer

<ScrollViewer Name="LayoutScrollViewer"> 
    <toolkit:Accordion Name="ItemsAccordion" ItemTemplate="{StaticResource AccordionHeaderTemplate}" ContentTemplate="{StaticResource AccordionContentTemplate}"></toolkit:Accordion> 
</ScrollViewer> 

不過,我不能找到一種方法,最初顯示的ScrollViewer的VerticalOffset 0它不斷滾動每當我的數據庫內容完成加載底部。我曾在代碼隱藏中嘗試過:

void CatalogItem_Loaded(object sender, RoutedEventArgs e) 
{ 
    WebServiceClient client = new WebServiceClient(); 
    client.GetCatalogItemsAsync(countID); 
    client.GetCatalogItemsCompleted += new EventHandler<GetCatalogItemsCompletedEventArgs>(client_GetCatalogItemsCompleted); 
} 

void client_GetCatalogItemsCompleted(object sender, GetCatalogItemsCompletedEventArgs e) 
{ 
    ItemsAccordion.ItemsSource = e.Result; 

    UpdateScrollViewer(); 
} 

private void UpdateScrollViewer() 
{ 
    LayoutScrollViewer.ScrollToVerticalOffset(0); 
} 

雖然這不起作用。我也嘗試過,在UpdateScrollViewer()中做:

LayoutScrollViewer.IsHitTestVisible = false; 
LayoutScrollViewer.IsHitTestVisible = true; 

哪個也不行。如果我將它作爲IsHitTestVisible = false離開它,那麼它會按我的意願工作;但我也希望用戶與Accordion互動,所以這不是一個永久的解決方案。

回答

0

我不想這樣做,但你以下幾點:

void client_GetCatalogItemsCompleted(object sender, GetCatalogItemsCompletedEventArgs e) 
{ 
    ItemsAccordion.ItemsSource = e.Result; 
    UpdateLayout(); 
    UpdateScrollViewer(); 
} 
+0

不,沒有工作。奇怪的是,它確實將滾動條移動到了ScrollToVerticalOffset(90)。 – user1036379 2012-02-02 21:11:38

+0

嘗試滾動到負偏移量,LayoutScrollViewer.ScrollToVerticalOffset(-1); – MyKuLLSKI 2012-02-02 21:16:01

+0

,仍然沒有工作 – user1036379 2012-02-02 21:45:26

相關問題