2010-10-04 14 views
8

Programlı olarak öğeleri eklediğim bir akordeonda bir veri kılavuzum var. Öğelerin eklenmesi sorun olmaz, ancak akordeon öğesi, veri kılavuzunun tüm içeriğini görüntüleyebilecek bir boyuta yenilenmez. Datagrids taraflarını yeniden boyutlandırmak için sürüklerseniz, akordeon öğesi doğru şekilde yeniden boyutlandırılır. Bunu kod aracılığıyla otomatik olarak yapamıyorum. InvalidateArrage ve InvalidateMeasure'ı kılavuzda veya akordeon öğesinde denedim ve ayrıca kontrollerin genişliklerini veya yüksekliklerini değiştirmeyi denedim, ancak hiçbir şey kodla çalışmıyor gibi görünmüyor. LayoutRoot'ta Invalidate yöntemlerini denedim bile. Akordeon öğesinin uygun boyutta yenilenmesini sağlamak için kod bilgisi yapabileceğim bir şey var mı?Yeniden çizilen gümüş ışığı akordeon öğesi çalışmıyor

+0

(madde eklenmiştir) Uzun bir süre için 'ItemsControl '. Yemin ederim herşeyi denedim. Umarım bu cevaplanır. – Gabe

+1

Sorunu yeniden yaratan bazı xaml gönderebilme şansınız var mı? –

+0

+1 - Jason ... XAML'ınızı bu gibi problemler için sağlamanız gerekiyor. Aksi halde yanlış nereye gideceğinizi tahmin etmeliyiz :) –

cevap

4

Aynı sorunu var, ancak AccordionItem içinde ListBox ile. Bunu çözmek - Izgara kontrolü

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

         <DataGrid.../> 

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

da DataGrid koymak Ve sen ItemsSource değiştiğinde UpdateLayout() yöntemini çağırmanız gerekir aynı konuyla ile ilgili olmuştur

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