2010-10-04 10 views
8

मेरे पास एक समझौता है कि मैं प्रोग्रामेटिक रूप से आइटम जोड़ता हूं। वस्तुओं को जोड़ने में कोई समस्या नहीं है, लेकिन accordion आइटम आकार में रीफ्रेश नहीं करता है जो डेटाग्रिड की सभी सामग्री देख सकता है। यदि मैं डेटाग्राइड पक्षों को आकार बदलने के लिए खींचता हूं, तो accordion आइटम सही ढंग से आकार बदलता है। मैं कोड के माध्यम से स्वचालित रूप से ऐसा नहीं कर सकता। मैंने ग्रिड या एग्रीजन आइटम पर अमान्य अराजकता और अमान्य मेटाइज़र का प्रयास किया है और मैंने नियंत्रण की चौड़ाई या ऊंचाइयों को बदलने की भी कोशिश की है, लेकिन कोड के माध्यम से कुछ भी काम नहीं करता है। मैंने लेआउट रूट पर अमान्य तरीकों का भी प्रयास किया है। क्या एग्रीजन आइटम को उचित आकार में रीफ्रेश करने के लिए मैं कुछ भी कर सकता हूं?रजत रोशनी accordion आइटम को पुनर्निर्मित नहीं कर रहा

+0

मैं के साथ एक ही समस्या हल करने की है एक लंबे समय के लिए 'आइटम नियंत्रण'। मैं कसम खाता हूँ कि मैंने सब कुछ करने की कोशिश की है। मुझे यकीन है कि यह उत्तर दिया जाता है। – Gabe

+1

कोई मौका आप कुछ xaml पोस्ट कर सकते हैं जो समस्या को दोबारा शुरू करता है? –

+0

जेसन के लिए +1 ... आपको वास्तव में इस तरह की समस्याओं के लिए अपने एक्सएएमएल प्रदान करने की आवश्यकता है। अन्यथा हमें अनुमान लगाना होगा कि आप कहां गलत हो रहे हैं :) –

उत्तर

4

मेरे पास एक ही समस्या है, लेकिन AccordionItem में ListBox के साथ। मैं इस का समाधान - ग्रिड नियंत्रण

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

         <DataGrid.../> 

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

में अपने डेटा ग्रिड डाल और आप UpdateLayout() विधि कॉल करने के लिए जब आप ItemsSource परिवर्तित किया जाता है की जरूरत है (आइटम जोड़ा)

private void ItemsSource_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) 
      { 
       yourAccordion.UpdateLayout(); 
      } 
संबंधित मुद्दे