Windows phone 7 如何在windows phone中创建此UI以连续文本换行方式显示图像和文本?

Windows phone 7 如何在windows phone中创建此UI以连续文本换行方式显示图像和文本?,windows-phone-7,Windows Phone 7,如何在Windows phone中创建这种UI,这可以通过WPF中的flowdocument来完成? Windows Phone中是否有可用的flowdocument控件?是否有其他方法 我为这个问题创建了一个解决方案。通过测量文本,您可以手动将文本拆分为两部分> <Grid Width="400"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> &

如何在Windows phone中创建这种UI,这可以通过WPF中的flowdocument来完成? Windows Phone中是否有可用的flowdocument控件?是否有其他方法


我为这个问题创建了一个解决方案。通过测量文本,您可以手动将文本拆分为两部分>

<Grid Width="400">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Image x:Name="WrapContent" Width="200" Height="192" />
    <TextBlock x:Name="RightTextBlock" Width="200" FontSize="24" FontFamily="Segoe WP" TextWrapping="Wrap" Grid.Column="1" />
    <TextBlock x:Name="BottomTextBlock" Width="400" FontSize="24" FontFamily="Segoe WP" TextWrapping="Wrap" Grid.Row="1" Grid.ColumnSpan="2" />
</Grid>

public MainPage()
{
    InitializeComponent();

    string text = "Lorem ipsum dolor sit amet consectetur adipiscing elit. Lorem ipsum dolor sit amet consectetur adipiscing elit. Lorem ipsum dolor sit amet consectetur adipiscing elit. Lorem ipsum dolor sit amet consectetur adipiscing elit. Lorem ipsum dolor sit amet consectetur adipiscing elit. Lorem ipsum dolor sit amet consectetur adipiscing elit.";
    string[] words = text.Split(' ');
    RightTextBlock.Text = words[0];

    for (int i = 0; i < words.Length; i++)
    {
        string word = words[i];
        string previousText = RightTextBlock.Text;
        RightTextBlock.Text += " " + word;
        if (RightTextBlock.ActualHeight > WrapContent.ActualHeight)
        {
            RightTextBlock.Text = previousText;
            BottomTextBlock.Text += String.Join(" ", words.Skip(i));
            break;
        }
    }
}

公共主页()
{
初始化组件();
字符串文本=“我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱;
string[]words=text.Split(“”);
RightTextBlock.Text=字[0];
for(int i=0;iWrapContent.ActualHeight)
{
RightTextBlock.Text=以前的文本;
BottomTextBlock.Text+=String.Join(“,words.Skip(i));
打破
}
}
}
看,我想这是同一个问题