2012-03-13 6 views
6

Estoy trabajando en una aplicación Metro usando C++ y XAML. Quiero crear una forma de polígono y agregar texto dentro de ella.Cómo agrego texto dentro de una forma en XAML

Al principio pensé en definir mi propia Controltemplate y aplicarla a Textblock, pero lamentablemente no comprende TargetType = "TextBlock".

En segundo lugar, pensé en heredar la clase Polygon y ver si puedo hacer algo allí, pero esa clase está sellada.

¿Alguna idea sobre cómo lograr esto?

Gracias

Respuesta

14

En WPF XAML que podría hacer algo tan simple como esto:

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

Para obtener el texto en el centro de una elipse amarilla.

Supongo que algo así de simple funcionará en WinRT.

0

tan tarde, pero se puede usar algo como esto con ContentControl o tantos otros controles:

<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> 
Cuestiones relacionadas