如何在TextBlock中填充Grid?

时间:2010-08-04 20:32:11

标签: wpf textblock

前几天我遇到了下面的xaml,我吓坏了:

<Grid x:Name="LayoutRoot">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
        <Grid>
            <Rectangle Fill="AliceBlue" Width="25" Height="25"/>
        </Grid>
    </TextBlock>
</Grid>

换句话说......如何将Grid放入TextBlock?

1 个答案:

答案 0 :(得分:3)

简单的答案是,您可以通过两种方式驱动TextBlock ...通过Text属性和Inlines集合。

在这种情况下,您使用的是Inlines集合。

TextBlock(通过TextElement上的IAddChild.AddChild方法)非常智能,可以将该网格包装到InlineUIContainer中......当然,这是一个内联。

换句话说,上面的xaml ...与:

相同
<Grid x:Name="LayoutRoot">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
        <InlineUIContainer>
            <Grid>
                <Rectangle Fill="AliceBlue" Width="25" Height="25"/>
            </Grid>
        </InlineUIContainer>
    </TextBlock>
</Grid>

希望这可以帮助别人避免我的怪异。嘿,嘿。好吧,至少,我希望通过了解它是如何工作来平息它们。