2012-05-04 11 views
8

क्या एक्सएएमएल में कुछ ऐसा करना संभव है जैसे ffloat: सीएसएस में एक छवि के लिए छोड़ दिया।एक्सएएमएल (विंडोज 8 मेट्रो) में छवि "फ्लोट" कैसे करें

enter image description here

चर छवि आयाम और पाठ की लंबाई के साथ

: मैं कुछ इस तरह बनाना होगा।

संपादित: छवि के चारों ओर पाठ ताना मेरे मामले में स्थिर नहीं है, यह सी # कोड है कि (रन) के साथ TextBlock तत्वों की सूची देता है

उत्तर

3

समाधान RichTextBlockOverflow का उपयोग कर किया जा रहा है और OverflowContentTarget इस प्रस्तुति में वर्णित: http://video.ch9.ms/build/2011/slides/APP-914T_Street.pptx

+0

सटीक! यह भी देखें [यह] (http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.richtextblockoverflow (v = win.10) .aspx) – wpfwannabe

1

This question लगता है में बना है कुछ इसी तरह की मांग किए जाने की आप क्या चाहते हैं उत्तर here आपको जो चाहिए वह समाधान साबित करना चाहिए।

जवाब का सारांश, निम्न उदाहरण की तरह एक FlowDocument का उपयोग किया जाता है:

<FlowDocument> 
    <Paragraph> 
     <Floater HorizontalAlignment="Left"> 
      <BlockUIContainer> 
       <Image Source="/FlowDocumentTest;component/dog.png" Width="100" /> 
      </BlockUIContainer> 
     </Floater> 
     Here is where the text goes to wrap around the image. 
    </Paragraph> 
</FlowDocument> 

अद्यतन

अपने प्रश्न राज्यों के रूप में, आप अब TextBlock/भागो उत्पन्न करने के लिए कुछ सी # कोड का उपयोग कर रहे तत्व, दोनों पैराग्राफ ऑब्जेक्ट के बच्चे हो सकते हैं। तो बस नाम अपने Paragraph तो जैसे:

<FlowDocument> 
    <Paragraph x:Name="textPara"> 
     <Floater HorizontalAlignment="Left"> 
      <BlockUIContainer> 
       <Image Source="/FlowDocumentTest;component/dog.png" Width="100" /> 
      </BlockUIContainer> 
     </Floater> 
    </Paragraph> 
</FlowDocument> 

तो सी # में,, textPara की Inlines संपत्ति के लिए अपने उत्पन्न TextBlock या Run रों जोड़ने यानी

var runToInsert = new Run("Some text to display"); 
textPara.Inlines.InsertAfter(textPara.Inlines.FirstInline, runToInsert); 
+0

मैं सवाल का संपादन किया। टेक्स्ट ऑन मेरे मामले में स्थिर नहीं है लेकिन टेक्स्टबॉक्स का एक गुच्छा है। मैं उन्हें एक स्टैकपैनल में डालता हूं लेकिन मैं उन्हें इसमें कैसे डालूं? –

+0

मेरे उत्तर को अपडेट किया गया है कि आप सामग्री को गतिशील रूप से कैसे जोड़ सकते हैं। – Lukazoid

+0

मुझे नहीं लगता कि पैराग्राफ में पैराग्राफ मान्य है। कंपाइलर agress –

3

सिल्वरलाइट 4 के साथ आप इस का उपयोग कर प्राप्त होगा एक RichTextBox:

<RichTextBox TextWrapping="Wrap" IsReadOnly="False"> 
    <Paragraph> 
     More text here .. 
     <InlineUIContainer> 
      <Image Source="abc.jpg"/> 
     </InlineUIContainer> 
     more and more text here; 
     <LineBreak /> 
    </Paragraph> 
</RichTextBox> 

यह Win8 मेट्रो की तरह दिखता है एक RichTextBox है, और इसमें InlineUIContainer भी है, इसलिए उपरोक्त की तरह कुछ काम करना चाहिए!

+0

आप इसे सी # में कैसे बनाते हैं? मेरे पास टेक्स्टब्लॉक्स (रन के साथ) की एक सूची है, इसलिए मुझे लगता है कि मैं इसे फ़र्ट्स को एक में परिवर्तित कर सकता हूं और मैं ठीक हूं –

+0

काम नहीं कर रहा है http://dl.dropbox.com/u/73642/flow.png –