1. 程式人生 > >WPF 在繪圖控制元件(Shape)中新增文字 [2018.7.15]

WPF 在繪圖控制元件(Shape)中新增文字 [2018.7.15]

原文: WPF 在繪圖控制元件(Shape)中新增文字 [2018.7.15]

Q:使用Shape的子類Ellipse畫一個圓,如何在圓中新增文字?

A:Shape類中不包含Text屬性。可使用Shape類和TextBlock類組合,放到Grid中來實現。

     純xaml的寫法:

<Grid Height="50" Width="50">
    <Ellipse Fill="Yellow" Stroke="Blue" Height="50" Width="50" HorizontalAlignment="Left"></Ellipse>
    <TextBlock Text="5" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</Grid>

    純C#的寫法:

Grid nodeGrid = new Grid();

Ellipse nodeCircle = new Ellipse();
nodeCircle.Fill = Brushes.Red;
nodeCircle.Stroke = Brushes.Black;
nodeCircle.Width = 50;
nodeCircle.Height = 50;

TextBlock nodeText = new TextBlock();
nodeText.Text = "5";
nodeText.HorizontalAlignment = HorizontalAlignment.Center;
nodeText.VerticalAlignment = VerticalAlignment.Center;
nodeText.TextAlignment = TextAlignment.Center;

nodeGrid.Children.Add(nodeCircle);
nodeGrid.Children.Add(nodeText);

效果圖: