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

Jos*_*osh 8 silverlight xaml accordion

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

Max*_*ave 4

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

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

                      <DataGrid.../>

                    </Grid>
                </DataTemplate>
            </toolkit:Accordion.ContentTemplate>
Run Code Online (Sandbox Code Playgroud)

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

   private void ItemsSource_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
            {
                yourAccordion.UpdateLayout();
            }
Run Code Online (Sandbox Code Playgroud)