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

重新绘制silverlight手风琴项目不起作用,silverlight,xaml,accordion,Silverlight,Xaml,Accordion,我在手风琴中有一个datagrid,我通过编程将项目添加到其中。添加这些项没有问题,但accordion项不会刷新到可以查看datagrid所有内容的大小。如果我拖动datagrids侧边以调整其大小,则accordion项将正确调整大小。我似乎无法通过代码自动完成这项工作。我在网格或手风琴项目上尝试了InvalidateArrage和InvalidateMeasure,还尝试了更改控件的宽度或高度,但代码似乎无法正常工作。我甚至在LayoutRoot上尝试了失效方法。有什么我可以做的代码明智地

我在手风琴中有一个datagrid,我通过编程将项目添加到其中。添加这些项没有问题,但accordion项不会刷新到可以查看datagrid所有内容的大小。如果我拖动datagrids侧边以调整其大小,则accordion项将正确调整大小。我似乎无法通过代码自动完成这项工作。我在网格或手风琴项目上尝试了InvalidateArrage和InvalidateMeasure,还尝试了更改控件的宽度或高度,但代码似乎无法正常工作。我甚至在LayoutRoot上尝试了失效方法。有什么我可以做的代码明智地使手风琴项目刷新到适当的大小吗?

我有同样的问题,但在手风琴项目中的列表框。我解决了这个问题-将您的DataGrid置于网格控制中

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

                      <DataGrid.../>

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

很长一段时间以来,我一直在使用
ItemsControl
处理相同的问题。我发誓我什么都试过了。我当然希望这能得到回答。你有没有可能发布一些xaml来重现这个问题?+1给Jason。。。您确实需要为类似这样的问题提供XAML。否则我们必须猜测你可能会错在哪里:)明天我会给你一个答案@work@Akash:“从来没有任何布局问题”是完全错误的。
   private void ItemsSource_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
            {
                yourAccordion.UpdateLayout();
            }