2012-09-26 12 views
5

मैं मानक विजुअल स्टूडियो टेम्पलेट्स का उपयोग कर रहा हूं और मेरे पास एक आइटम डिस्प्लेपेज है जिसमें एक RichTextBlock के साथ FlipView है जो इसके डेटा टेम्पलेट में है।मेट्रो स्टाइल ऐप में फ्लिप व्यू में RichTextBlock का उपयोग

मैं टेक्स्ट में जेनरेट किए गए अपने कस्टम पैराग्राफ में RichTextBlock ब्लॉक सेट करना चाहता हूं। मुझे लगता है कि XAML में RichTextBlocks ब्लॉक को बांधने का कोई तरीका नहीं है, इसलिए मैं पीछे कोड का उपयोग कर रहा हूं। RichTextBlock की लोड की गई घटना में मैंने अपना ब्लॉक सेट किया है, जो ठीक काम करता है। लेकिन समस्या यह है कि लोड किया गया ईवेंट पृष्ठ को प्रदर्शित होने पर केवल एक बार बुलाया जाता है। जब मैं किसी अन्य आइटम पर "फ्लिप" करता हूं, तो फ्लिप व्यू का चयनित आइटम बदल जाता है लेकिन लोडेड ईवेंट को फिर से कॉल नहीं किया जाता है (मुझे लगता है कि यह ठीक है)।

मैंने FlipViews चयन चेंज आइटम में RichTextBlock सेट करने का प्रयास किया लेकिन यह काम नहीं करता है।

var ind = this.flipView.SelectedIndex; 

     var flipViewItem = this.flipView.ItemContainerGenerator.ContainerFromIndex(flipView.SelectedIndex); 

     if (flipViewItem != null) 
     {    
      var scroller = FindFirstElementInVisualTree<ScrollViewer>(flipViewItem); 
      var tb = scroller.FindDescendantByName("richTextColumns").FindDescendantByName("richTextBlock") as RichTextBlock; 
      SetRichContent(tb, (flipView.SelectedItem as ArticleViewModel).HtmlContent);    
     } 

SetRichContent बुलाया जाता है, RichTextBlocks ब्लाकों सेट लेकिन देखने में वे बदल जाते हैं और कुछ flips के बाद नहीं है, किसी भी अतिरिक्त जानकारी के बिना पूरे ऐप्लिकेशन क्रैश।

तो मेरा सवाल यह है कि, मैं प्रत्येक फ्लिप (सेल आइटम आइटम) के साथ RichTextBlock पर अपना कोड कैसे प्राप्त करूं?

उत्तर

1

आप समृद्ध टेक्स्ट बॉक्स को बांध सकते हैं। सुनिश्चित करें कि आपका डेटा संदर्भ ठीक से सेट है। उचित उत्तर देने के लिए हमें और कोड देखने की आवश्यकता है।

<RichTextColumns> 
    <RichTextColumns.ColumnTemplate> 
     <DataTemplate> 
      <RichTextBlockOverflow Width="400" Margin="50,0,0,0"/> 
     </DataTemplate> 
    </RichTextColumns.ColumnTemplate> 

    <RichTextBlock Width="400"> 
     <Paragraph> 
      <Run Text="{Binding Content}"/> 
     </Paragraph> 
    </RichTextBlock> 
</RichTextColumns> 
+0

यह पूरी सामग्री को वीएस में टेम्पलेट में चलाने के लिए बाध्यकारी है। मुझे कई अनुच्छेदों को बांधने और –

+0

चलाने की आवश्यकता है जो आपको आवश्यक प्रत्येक पैराग्राफ के लिए एकाधिक रनों का उपयोग करने का प्रयास करें। – Dreambeats

+1

प्रश्न यह है कि DataTemplate चुड़ैल में RichTextBlock को कैसे प्राप्त किया जाए चयनित Item परिवर्तन, रिचटेक्स्टब्लॉक में रन जोड़ने के लिए नहीं, यह छोटा है –

संबंधित मुद्दे