使用InlineUIContainer在RichTextBlock中插入UI对象的不需要的重叠

时间:2012-09-10 13:49:13

标签: c# xaml windows-8 microsoft-metro

我正在开发一个C#Metro应用程序。 在我的页面的XAML代码中,我有一个我用这种方式填充的RichTextBlock:

<RichTextBlock x:Name="richTextBlock" Width="560" Style="{StaticResource ItemRichTextStyle}">
    <Paragraph>
        <Run FontWeight="SemiLight" Text="{Binding ContentBefore}"/>
    </Paragraph>
    <Paragraph>
        <InlineUIContainer>
            <Button Content="TEST" Width="300" Height="150"/>
        </InlineUIContainer>
    </Paragraph>
    <Paragraph>
        <Run FontWeight="SemiLight" Text="{Binding ContentAfter}"/>
    </Paragraph>
</RichTextBlock>

我希望看到的是ContentBefore文本后跟一个按钮,然后是ContentAfter文本。

相反,按钮(或我试图放在那里的任何其他元素,例如填充了东西的网格)与ContentBefore和ContentAfter重叠。 我设法获得按钮空间的唯一方法是将一些LineBreaks插入“make space”,这显然不是一个可接受的解决方案。

有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

如果我了解您的问题,也许您可​​以使用<Paragraph LineStackingStrategy="MaxHeight">解决此问题。