在图像周围包装文本或在C#WPF中链接两个TextBlock

时间:2010-07-26 21:13:09

标签: c# wpf textwrapping

我正在创建一个在同一窗口中显示文本和图像的程序。图像位于屏幕的左上角,文本将从右侧开始,然后在图像下方继续向下。

目前,我正在尝试的是采用两个TextBlocks(一个位于图像的右侧,一个位于图像和第一个文本块之下),并希望文本从一个块继续到另一个块。这是一种理想的方法,如果是这样,我该怎么做?有没有比这更好/更简单的方法,或者我可以只使用一个对象吗?谢谢,

安德鲁

1 个答案:

答案 0 :(得分:20)

我不建议使用TextBlocks来实现这种类型的布局。正如Kieren所说,FlowDocument对于这种类型的设计是理想的。使用带有Paragraph元素的FlowDocument和包含图像的Floater元素,查看此XAML片段和生成的WPF应用程序屏幕截图:

<Grid>
    <FlowDocumentScrollViewer>
        <FlowDocument>                
            <Paragraph>
                <Floater Width="130" HorizontalAlignment="Left" Margin="0,0,5,5" Padding="3">
                    <BlockUIContainer>
                        <Image Source="/FlowDocumentTest;component/dog.png" Width="100" /> 
                    </BlockUIContainer>
                </Floater>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
                Suspendisse et diam felis. Vestibulum ac nisl mi. 
                Etiam varius velit lobortis nibh vestibulum nec consequat velit pellentesque. 
                Cras commodo libero placerat nulla dapibus eget porttitor ligula tempor. 
                Donec nisl massa, congue et pretium sit amet, feugiat vel est. 
                Nulla dapibus metus in justo pulvinar sit amet viverra lorem rhoncus. 
                Integer placerat interdum massa et mattis.</Paragraph>
        </FlowDocument>
    </FlowDocumentScrollViewer>
</Grid>

alt text

相关问题