Pregunta El elemento de acordeón Silverlight redibujado no funciona


Tengo una cuadrícula de datos en un acordeón al que agrego elementos mediante programación. Los elementos no tienen problemas para agregarse, pero el elemento de acordeón no se actualiza a un tamaño que puede ver todos los contenidos de la cuadrícula de datos. Si arrastro los lados de las cuadrículas de datos para cambiar su tamaño, el elemento del acordeón cambia de tamaño correctamente. Parece que no puedo hacer esto automáticamente a través del código. Intenté InvalidateArrage e InvalidateMeasure en la grilla o el elemento del acordeón y también intenté cambiar el ancho o alto de los controles, pero parece que nada funciona a través del código. Incluso probé los métodos Invalidar en el LayoutRoot. ¿Hay algo que pueda hacer con respecto al código para que el elemento del acordeón se actualice al tamaño correcto?


8
2017-10-04 19:02


origen


Respuestas:


Tengo el mismo problema, pero con ListBox en AccordionItem. Resuelvo esto: coloque su DataGrid en control de cuadrícula

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

                      <DataGrid.../>

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

Y necesita llamar al método UpdateLayout () cuando ItemsSource se cambia (elemento agregado)

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

4
2017-07-01 06:25