2012-03-13 74 views
6

我正在使用C++和XAML處理Metro應用程序。我想創建一個多邊形形狀並在其中添加文本。如何在XAML中的形狀內添加文本

起初我想到定義我自己的Controltemplate並將其應用於Textblock,但不幸的是它不理解TargetType =「TextBlock」。其次,我想過繼承Polygon類,看看我能不能做任何事情,但那個類是封閉的。

有關如何實現此目的的任何想法?

感謝

回答

14

在WPF XAML你可以做一些簡單的像這樣:

<Grid Width="60" Height="100"> 
    <Ellipse Fill="Yellow"/> 
    <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="Hello"/> 
</Grid> 

要獲得黃色橢圓的中心文本。

我猜這些簡單的東西會在WinRT上運行。

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> 
相關問題