重绘silverlight手风琴项目不起作用

时间:2010-10-04 19:02:18

标签: silverlight xaml accordion

我在手风琴中有一个数据网格,我以编程方式添加项目。这些项目没有添加问题,但是手风琴项目不会刷新到可以查看数据网格的所有内容的大小。如果我拖动数据网格边以调整其大小,则手风琴项目会正确调整大小。我似乎无法通过代码自动执行此操作。我已尝试在网格或手风琴项目上使用InvalidateArrage和InvalidateMeasure,我也尝试更改控件的宽度或高度,但似乎没有任何工作通过代码。我甚至尝试过LayoutRoot上的Invalidate方法。有没有什么我可以做代码明智的手风琴项目刷新到适当的大小?

1 个答案:

答案 0 :(得分:4)

我有同样的问题,但在AccordionItem中有ListBox。我解决了这个问题 - 把你的DataGrid放在网格控件中

<toolkit:Accordion.ContentTemplate>
                <DataTemplate>
                    <Grid>

                      <DataGrid.../>

                    </Grid>
                </DataTemplate>
            </toolkit:Accordion.ContentTemplate>

当您更改ItemsSource(添加项目)时,您需要调用UpdateLayout()方法

   private void ItemsSource_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
            {
                yourAccordion.UpdateLayout();
            }