在XAML中可以做些什麼,比如ffloat:左圖爲CSS中的圖像。我需要這樣創造的東西:如何在XAML中「漂浮」圖像(Windows 8 Metro)
與可變圖像尺寸和文本長度。
編輯:圖片周圍的文字經是不是在我的情況下,靜態的,它是在返回的TextBlock元素的列表(運行)的C#代碼
在XAML中可以做些什麼,比如ffloat:左圖爲CSS中的圖像。我需要這樣創造的東西:如何在XAML中「漂浮」圖像(Windows 8 Metro)
與可變圖像尺寸和文本長度。
編輯:圖片周圍的文字經是不是在我的情況下,靜態的,它是在返回的TextBlock元素的列表(運行)的C#代碼
的解決方案似乎可以用RichTextBlockOverflow和OverflowContentTarget本演示描述:http://video.ch9.ms/build/2011/slides/APP-914T_Street.pptx
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>
更新
至於你的問題的狀態,您現在正在使用一些C#代碼來生成的TextBlock /運行元素,都可以是段落對象的子元素。所以,簡單地命名Paragraph
像這樣:
<FlowDocument>
<Paragraph x:Name="textPara">
<Floater HorizontalAlignment="Left">
<BlockUIContainer>
<Image Source="/FlowDocumentTest;component/dog.png" Width="100" />
</BlockUIContainer>
</Floater>
</Paragraph>
</FlowDocument>
然後在C#中,添加產生TextBlock
S或Run
s到textPara的Inlines
財產,即
var runToInsert = new Run("Some text to display");
textPara.Inlines.InsertAfter(textPara.Inlines.FirstInline, runToInsert);
我編輯的問題。 Text on不是靜態的,而是一堆文本框。我將它們插入到StackPanel中,但是如何將它們插入到此? –
更新了我的答案,以及如何動態添加內容。 – Lukazoid
我不認爲段落中的Paragprah是有效的。編譯器agress –
使用Silverlight 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,所以像上面的東西應該工作!
你如何在C#中創建這個?我有一個TextBlocks列表(帶有運行),所以我想我可以將firts一個轉換爲這個,我會好的 –
似乎並不工作http://dl.dropbox.com/u/73642/flow.png –
發現!另請參閱[this](http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.richtextblockoverflow(v = win.10).aspx) – wpfwannabe