在WP8 XAML中包裹图像周围的文本

时间:2014-09-17 17:37:10

标签: wpf windows-phone-8 winrt-xaml

WP8 XAML是否可以在图像周围换行文字?怎么样? 我知道这可以用不止一种方式使用WPF。

1 个答案:

答案 0 :(得分:1)

就像@Jogy推荐的那样,当你在混音中加入一些RichTextBlockOverflow时,RichTextBlock可以非常方便,比如说;

<Grid Background="White" Width="800" Height="800">
    <Grid.RowDefinitions>
      <RowDefinition/>
      <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
      <ColumnDefinition/>
      <ColumnDefinition/>
    </Grid.ColumnDefinitions>

    <RichTextBlock IsTextSelectionEnabled="True" TextAlignment="Justify" 
                   OverflowContentTarget="{Binding ElementName=FirstOverflowArea}" 
                   TextIndent="12">
        <Paragraph>
            <Italic>Whoa! An Image!</Italic>
            <InlineUIContainer>
              <Border Background="Gray">
                <Image Source="Some/Image/Path/Pic.png" Height="100" Width="100"/>
              </Border>
            </InlineUIContainer> 
             So the idea is, we throw a bunch fluff in here and as it runs out of room, 
it flows into our chain of Overflow containers that 
we can put wherever and however we want, yay! Nam vitae ligula non ligula suscipit semper. 
Duis sed nulla metus, id hendrerit velit. Curabitur dolor purus, bibendum eu cursus lacinia, 
interdum vel augue. Aenean euismod eros et sapien vehicula dictum. Duis ullamcorper, turpis 
nec feugiat tincidunt, dui erat luctus risus, aliquam accumsan lacus est vel quam. Nunc lacus 
massa, varius eget accumsan id, congue sed orci. Duis dignissim hendrerit egestas. Proin ut 
turpis magna, sit amet porta erat. Nunc semper metus nec magna imperdiet nec vestibulum dui fringilla. Sed sed ante libero, nec porttitor mi. Ut luctus, neque vitae placerat egestas, 
urna leo auctor magna, sit amet ultricies ipsum felis quis sapien. Proin eleifend varius dui, 
at vestibulum nunc consectetur nec. Mauris nulla elit, ultrices a sodales non, aliquam ac est. Quisque sit amet risus nulla. Quisque vestibulum posuere velit, vitae vestibulum eros scelerisque 
sit amet. In in risus est, at laoreet dolor. Nullam aliquet pellentesque convallis. Ut vel tincidunt nulla. Mauris auctor tincidunt auctor.
        </Paragraph>
        <Paragraph>
            , consectetur adipiscing elit. Sed ac mi ipsum. Phasellus vel malesuada mauris. Donec 
pharetra, enim sit amet mattis tincidunt, felis nisi semper lectus, vel porta diam nisi in augue.
 Pellentesque lacus tortor, aliquam et faucibus id, rhoncus ut justo. Sed id lectus odio, eget 
pulvinar diam. Suspendisse eleifend ornare libero, in luctus purus aliquet non. Sed interdum, sem 
vitae rutrum rhoncus, felis ligula ultrices sem, in eleifend eros ante id neque. Vivamus quam lorem,
 varius vitae porta mollis, placerat quis est. Aenean eget sagittis massa. Sed tellus turpis, 
ullamcorper eget imperdiet vel, faucibus vel nisl. Nunc sed suscipit quam. Vivamus convallis faucibus
 dignissim. Fusce sollicitudin, quam vel cursus mattis, nisl velit tristique sapien, ac vestibulum 
ante arcu a nisl. Vestibulum commodo gravida ante at tincidunt. Vestibulum in ornare nunc. Nullam ut
 lorem vitae dui placerat lacinia sit amet a arcu. Nulla sit amet odio nisi. Praesent erat urna,
 venenatis ac adipiscing vel, congue at lectus. Proin ac metus at quam luctus ultricies.
        </Paragraph>        
    </RichTextBlock>
    <RichTextBlockOverflow Grid.Column="1" x:Name="FirstOverflowArea"
                           Margin="10"
                           OverflowContentTarget="{Binding ElementName=SecondOverflowArea}"/>
    <RichTextBlockOverflow Grid.Row="1" Grid.ColumnSpan="2" x:Name="SecondOverflowArea" 
                           Margin="10"/>    
</Grid>

希望这有帮助,干杯!