如何在XAML中的形状内添加文本

时间:2012-03-13 04:23:06

标签: xaml microsoft-metro

我正在使用C ++和XAML开发Metro App。我想创建一个多边形形状并在其中添加文本。

起初我想过定义我自己的Controltemplate并将其应用于Textblock但不幸的是它不理解TargetType =“TextBlock”。

其次,我想继承Polygon类,看看我是否可以做任何事情但是这个类是密封的。

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:0)

您可以使用ContentControl或其他许多控件来使用此类内容:

<ContentControl Width="200" Height="100" Content="Something">
    <ContentControl.Template>
        <ControlTemplate>
            <Grid>
                <Ellipse Fill="Red"/>
                <TextBlock Text="{Binding Content,RelativeSource={RelativeSource FindAncestor,AncestorType=ContentControl}}" 
                            TextWrapping="Wrap"
                            VerticalAlignment="Center"
                            HorizontalAlignment="Center"/>
            </Grid>
        </ControlTemplate>
    </ContentControl.Template>
</ContentControl>