2012-03-13 12 views
6

C++とXAMLを使用してMetroアプリケーションを作成しています。私は、多角形を作成し、内部にテキストを追加したいと思います。XAMLで図形内にテキストを追加するには

私は独自のControltemplateを定義してTextblockに適用することを考えましたが、残念ながらTargetType = "TextBlock"は理解できません。

第2に、私はPolygonクラスを継承すると思っていましたが、私はそこで何かできますが、そのクラスは封印されています。

これを達成するためのアイデアはありますか?あなたはこのような単純な何かができるWPF XAMLで

おかげ

答えて

14

<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> 
関連する問題