2012-03-13 26 views
6

Tôi đang làm việc trên Ứng dụng Metro bằng cách sử dụng C++ và XAML. Tôi muốn tạo một hình đa giác và thêm văn bản bên trong nó.Làm cách nào để thêm văn bản bên trong một hình dạng trong XAML

Lúc đầu, tôi nghĩ đến việc xác định Controltemplate của riêng mình và áp dụng nó cho Textblock nhưng tiếc là nó không hiểu TargetType = "TextBlock".

Thứ hai, tôi đã nghĩ đến việc kế thừa lớp Đa giác và xem tôi có thể làm bất cứ điều gì ở đó không nhưng lớp đó được niêm phong.

Bất kỳ ý tưởng nào về cách đạt được điều này?

Cảm ơn

Trả lời

14

Trong WPF XAML bạn có thể làm một cái gì đó đơn giản như thế này:

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

Để có được văn bản ở trung tâm của một hình elip màu vàng.

Tôi đoán điều gì đó đơn giản sẽ hoạt động trên WinRT.

0

Vì vậy muộn, nhưng bạn có thể sử dụng một cái gì đó như thế này với ContentControl hoặc rất nhiều các điều khiển khác:

<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> 
Các vấn đề liên quan