【问题标题】:Silverlight Toolkit Accordion ScrollViewerSilverlight 工具包 Accordion ScrollViewer
【发布时间】:2012-02-02 19:01:24
【问题描述】:

我正在用我的数据库中的项目填充我的手风琴。我还将手风琴包装在 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 进行交互,所以这不是永久的解决方案。

【问题讨论】:

    标签: silverlight silverlight-4.0 accordion silverlight-toolkit scrollviewer


    【解决方案1】:

    我讨厌这样做,但你的以下:

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

    【讨论】:

    • 不,那没用。奇怪的是,它确实将滚动条移动到了 ScrollToVerticalOffset(90) 的位置。
    • 尝试滚动到负偏移,LayoutScrollViewer.ScrollToVerticalOffset(-1);
    • 这个工作:LayoutScrollViewer.ScrollToVerticalOffset(double.NegativeInfinity)
    • 嗯,我想我找到了原因,但不知道为什么。 ContentTemplate="{StaticResource AccordionContentTemplate}" 有一个 RichTextBox 绑定一些内容。如果我将其更改为 TextBlock 并绑定相同的内容,即使没有 UpdateScrollViewer(),它也会一直滚动到顶部。但是,我暂时没有复杂的格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多