Image WP7围绕图像包装文本

Image WP7围绕图像包装文本,image,windows-phone-7,windows-phone-7.1,word-wrap,Image,Windows Phone 7,Windows Phone 7.1,Word Wrap,我有以下代码: <ScrollViewer x:Name="textScroller" Grid.Row="2"> <Grid x:Name="ContentPanel" Margin="12,0,12,0" DataContext="{Binding}"> <Image x:Name="ImageUrl" Source="{Binding ImageUrl}" Height="198" Width="150" Margin="10

我有以下代码:

<ScrollViewer x:Name="textScroller" Grid.Row="2">
        <Grid x:Name="ContentPanel" Margin="12,0,12,0" DataContext="{Binding}">
        <Image x:Name="ImageUrl" Source="{Binding ImageUrl}" Height="198" Width="150" Margin="10 10 10 10" FlowDirection="RightToLeft" HorizontalAlignment="Left" VerticalAlignment="Top"  />
        <TextBlock x:Name="Content" Text="{Binding Content}" TextWrapping="Wrap" Style="{StaticResource PhoneTextNormalStyle}" Margin="0,41,24,-41" LineStackingStrategy="BlockLineHeight"  MaxWidth="478"  />
        </Grid>
</ScrollViewer>

这段代码中的图像是文本块的背景,但我希望文本环绕在imgae周围。可能吗?我发现了这一点,答案是,仅仅使用图像和文本块是不可能的。是这样吗?我真的不能在图像中设置一些属性,设置文本不能在图像上?我应该如何更改代码? 谢谢

编辑:现在我的页面是这样的:

我希望文本应该在图片的右侧和下方。

它是和的副本,尽管这些问题也没有得到公认的答案。Silverlight中没有这样的选项来自动包装图像周围的文本。您可以使用WebBrowser组件或使用多个文本块,方法是在向内存中的文本块添加单词的同时测量文本的大小,并检查何时停止并切换到另一个文本块。我也建议读一篇关于字体度量的文章

编辑:硬编码示例:

您可以使用下面的代码以硬编码的方式执行您的请求。也许您可以编写一些代码,使其作为控件工作——通过检测矩形(或图像)旁边嵌套文本块的高度来自动拆分文本


这是和的副本,尽管这些问题也没有得到公认的答案。Silverlight中没有这样的选项来自动包装图像周围的文本。您可以使用WebBrowser组件或使用多个文本块,方法是在向内存中的文本块添加单词的同时测量文本的大小,并检查何时停止并切换到另一个文本块。我也建议读一篇关于字体度量的文章

编辑:硬编码示例:

您可以使用下面的代码以硬编码的方式执行您的请求。也许您可以编写一些代码,使其作为控件工作——通过检测矩形(或图像)旁边嵌套文本块的高度来自动拆分文本



从您的问题中不清楚您实际上想要实现什么。你能提供一个模型吗?您可能正在寻找流量布局,但手机上目前没有该布局。根据您的具体要求,可能会有一种方法产生类似的影响。然后,它与您链接的另一个问题完全相同。可能重复ok,我不确定,这很奇怪,我不能简单地做到这一点。从您的问题中不清楚您实际想要实现什么。你能提供一个模型吗?您可能正在寻找流量布局,但手机上目前没有该布局。根据您的具体要求,可能会有一种方法产生类似的影响。然后,它与您链接到的另一个问题完全相同。可能重复ok,我不确定,这很奇怪,我不能简单地做到这一点。
<RichTextBox
    VerticalAlignment="Top"
    >
    <Paragraph
        TextAlignment="Left">
        <InlineUIContainer>
            <InlineUIContainer.Child>
                <Rectangle
                    Width="50"
                    Height="50"
                    Fill="Red" />
            </InlineUIContainer.Child>
        </InlineUIContainer>
        <InlineUIContainer>
            <Border>
                <TextBlock
                    Padding="0"
                    Width="370"
                    Margin="0,0,0,-5"
                    TextWrapping="Wrap"
                    Text="First part of text that fits to the right of the image before the other part wraps to">
                </TextBlock>
            </Border>
        </InlineUIContainer>
        <Run
            Text="the next line. This part of the text is already below the image." />
    </Paragraph>
</RichTextBox>